Skip to content

Instantly share code, notes, and snippets.

@tommedema
Created September 17, 2011 18:03
Show Gist options
  • Save tommedema/1224187 to your computer and use it in GitHub Desktop.
Save tommedema/1224187 to your computer and use it in GitHub Desktop.
var os = require('os'),
prevTimes;
function getCpuTimes() {
var cpus = os.cpus(),
cpusl = cpus.length,
times = {
user: 0
, sys : 0
, nice: 0
, idle: 0
};
cpus.forEach(function(cpu) {
times.user += cpu.times.user;
times.sys += cpu.times.sys;
times.nice += cpu.times.nice;
times.idle += cpu.times.idle;
});
times.user = times.user / cpusl;
times.sys = times.sys / cpusl;
times.nice = times.nice / cpusl;
times.idle = times.idle / cpusl;
return times;
}
prevTimes = getCpuTimes();
function getCpuUsage() {
var times = getCpuTimes(),
user = prevTimes.user - times.user,
sys = prevTimes.sys - times.sys,
nice = prevTimes.nice - times.nice,
idle = prevTimes.idle - times.idle;
prevTimes = times;
return (user + sys + nice) / idle * 100;
}
setInterval(function() {
console.log('cpu usage percentage: ' + getCpuUsage());
}, 1000);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment