NodeJS中进程的CPU使用率

Mas*_*iar 5 cpu cpu-usage node.js

我有一个NodeJS应用程序,它在24核心的服务器上生成进程.通常,我不会为每个核心生成多个进程(最多总共24个进程).我想知道每个进程产生的核心的CPU使用情况.有可能调查这样的事情吗?我知道我可以使用os.cpus(),但这会返回机器中所有CPU的更一般信息,而不是我正在查询的进程正在处理的那些CPU.

是否可以使用NodeJS中的内容执行此类操作?我不想依赖于从NodeJS执行(重)bash脚本来了解类似的东西.

Aru*_*ala 5

尝试使用 PID 跟踪 CPU 的节点使用情况

您可以使用如下所示的节点用法

var spawn = require('child_process').spawn;
var usage = require('usage');

var ffmpeg = spawn('ffmpeg');
usage.lookup(ffmpeg.pid, function(err, usageInfo) {

    console.log(usageInfo); // { cpu: 2.4, memory: 100065280 }
});
Run Code Online (Sandbox Code Playgroud)


Lan*_*der 3

当然我可能是错的,但我不确定是否有用于工作进程 CPU 使用情况的 API,但您可以获取所有内核的每个内核: http: //nodejs.org/api/os.html#os_os_cpus

另请注意:对于这样的功能,您可能需要考虑检查您是否有权访问系统的所有内存。V8 的默认限制是需要重新编译才能获得“更深的空间”来进行内存访问。