Skip to content
Node.js Binding to SIGAR (System Information Gatherer And Reporter)
C++ CoffeeScript Python JavaScript
Find file
Latest commit 3affdbe @wdavidw Merge pull request #8 from duralog/master
updated to compile on latest node version
Failed to load latest commit information.
deps update to compile with latest node v0.10.1
samples just noticed @wdavidw is also author of `printf` module. switching ov…
src update to compile with latest node v0.10.1
.gitignore Add travis definition
.gitmodules Add sugar submodule
.travis.yml Travis is now passing
binding.gyp update to compile with latest node v0.10.1
index.js Implement system, proc, cpu and net (partially) functions Add license and move issues and notes into github issue tracker
package.json just noticed @wdavidw is also author of `printf` module. switching ov… start documentation & examples (WIP)
wscript test travis

Build Status

Node Sigar binding

A complete binding to the SIGAR library.

Documentation is available on the project website.

Note, documentation include important installation instruction for some platforms.

SIGAR is a cross platform interface for gathering system information. From the project website, such information include:

  • System memory, swap, cpu, load average, uptime, logins
  • Per-process memory, cpu, credential info, state, arguments, environment, open files
  • File system detection and metrics
  • Network interface detection, configuration info and metrics
  • TCP and UDP connection tables
  • Network route table
var sigar = require('sigar');
console.log(sigar.version()); // returns the version

// invoke the library
var Sigar = sigar.init();
console.log(sigar.cpu()); // {}



> {
    ram: Number
    total: Number
    used: Number
    free: Number
    actual_used: Number
    actual_free: Number
    used_percent: Number
    free_percent: Number


    total: Number
    used: Number
    free: Number
    page_in: Number
    page_out: Number


> 52883 // seconds


[0.11, 0.13, 0.09]

Sigar.resourceLimit(); Sigar.whoList(); Sigar.sysInfo(); Sigar.fqdn(); // CPU Sigar.cpu(); Sigar.cpuList(); Sigar.cpuInfoList(); // Process Sigar.procList(); Sigar.procStat(); Sigar.procMem(); Sigar.procCred(); Sigar.procTime(); Sigar.procCpu(); Sigar.procState(); Sigar.procArgs(); Sigar.procEnv(); Sigar.procFd(); Sigar.procExe(); Sigar.procModules(); Sigar.procPort(); Sigar.threadCpu(); // Disk Sigar.fileSystemList(); Sigar.fileSystemUsage(); Sigar.fileSystemPing(); // Network Sigar.netInfo(); Sigar.netRouteList(); Sigar.netInterfaceList(); Sigar.netInterfaceConfig(); Sigar.netInterfaceConfigPrimary(); Sigar.netInterfaceStat(); Sigar.netConnectionList(); Sigar.netListenAddress(); Sigar.netStat(); Sigar.netStatPort(); Sigar.tcp(); Sigar.nfsClientV2(); Sigar.nfsServerV2(); Sigar.arpList(); // Misc Sigar.rpcPing();


  • compile the entire library with gyp
  • fix up the tests (and improve on them)
  • utilize / reimplement / remove sigar_format.c functions
  • convert functions without args to be getters
  • provide async funcs for long-running actions
  • old / broken code still exists for converting network addresses (see


Node Sigar is licensed under the BSD license.

Something went wrong with that request. Please try again.