tmpdir nodejs node library freemem node.js cpu-usage

node.js - library - nodejs platform



¿Cómo saber el% de uso de CPU para el proceso Node.js? (6)

¿Hay alguna manera de averiguar el uso de% cpu para un proceso node.js con el código? de modo que cuando el servidor node.js se esté ejecutando y detecte que la CPU está sobre un% determinado, se pondrá una alerta o una salida de consola.


En * nix systems puede obtener estadísticas de proceso leyendo el archivo virtual / proc / [pid] / stat.

Por ejemplo, esto comprobará el uso de la CPU cada diez segundos e imprimirá en la consola si supera el 20%. Funciona al verificar el número de tics de cpu utilizados por el proceso y al comparar el valor con una segunda medición realizada un segundo más tarde. La diferencia es el número de tics utilizados por el proceso durante ese segundo. En los sistemas POSIX, hay 10000 tics por segundo (por procesador), por lo que dividir por 10000 nos da un porcentaje.

var fs = require(''fs''); var getUsage = function(cb){ fs.readFile("/proc/" + process.pid + "/stat", function(err, data){ var elems = data.toString().split('' ''); var utime = parseInt(elems[13]); var stime = parseInt(elems[14]); cb(utime + stime); }); } setInterval(function(){ getUsage(function(startTime){ setTimeout(function(){ getUsage(function(endTime){ var delta = endTime - startTime; var percentage = 100 * (delta / 10000); if (percentage > 20){ console.log("CPU Usage Over 20%!"); } }); }, 1000); }); }, 10000);


Intente ver este código: https://github.com/last/healthjs

Servicio de red para obtener CPU del sistema remoto y recibir alertas de uso de CPU ...

Health.js sirve 2 modos principales: "modo de transmisión" y "modo de evento". El modo de transmisión permite que un cliente se conecte y reciba datos de uso de la CPU de transmisión. El modo de evento permite que Health.js notifique a un servidor remoto cuando el uso de la CPU alcanza un cierto umbral. Ambos modos se pueden ejecutar simultáneamente ...



Puede utilizar el módulo os ahora.

var os = require(''os''); var loads = os.loadavg();

Esto le da el promedio de carga de los últimos 60 segundos, 5 minutos y 15 minutos. Esto no te da el uso de la CPU como un% sin embargo.


Utilice la función node process.cpuUsage (introducida en el nodo v6.1.0). Muestra el tiempo que la CPU pasó en su proceso de nodo. Ejemplo tomado de documentos:

const previousUsage = process.cpuUsage(); // { user: 38579, system: 6986 } // spin the CPU for 500 milliseconds const now = Date.now(); while (Date.now() - now < 500); // set 2 sec "non-busy" timeout setTimeout(function() { console.log(process.cpuUsage(previousUsage); // { user: 514883, system: 11226 } ~ 0,5 sec }, 2000);


vea node-usage para el proceso de seguimiento de la CPU y el uso de la memoria (no del sistema)