如何在Node.js上使用「sysconf」取得Linux系統的組態資訊?

Linux系統上使用C/C++語言開發程式的時候可以透過引用「unistd.h」來呼叫「sysconf」函數,在程式執行階段(runtime)獲取指定的系統組態資訊,例如記憶體大小、CPU數量、最大行程(process)數或各種的最大字數。然而,如果是想要在Node.js上抓取這些系統組態資訊,該怎麼做呢?

node-sysconf

node-sysconf」是一個使用Node.js 8之後才支援的N-API所開發的模組,使用C語言引用「unistd.h」,使得Node.js也可以間接存取「sysconf」函數。

GitHub:

https://github.com/magiclen/node-sysconf

npm:

https://www.npmjs.com/package/node-sysconf

安裝

直接使用npm指令進行安裝:

npm install --save node-sysconf

用法

初始化

使用「require」函數來引入「node-sysconf」模組。

取得指定名稱的系統組態值

使用模組提供的「get」函數可以取得指定名稱的系統組態,用法如下:

sysconf.get(sysconf.系統組態名稱);

sysconf.get(sysconf['系統組態名稱']);

「系統組態名稱」皆是以「_SC_」開頭來命名的,詳細名稱與對應的值表示的意義請自行參閱sysconf的手冊(man page)。

舉例來說,「_SC_PAGE_SIZE」可以取得記憶體每個頁(page)的大小(單位為byte),而「_SC_PHYS_PAGES」則可以取得實體記憶體總共有幾個頁。

關於作者

Magic Len

Magic Len

各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook,並且請註明是從MagicLen來的。

相關文章