NodeJS中进程的CPU使用情况

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

是否有可能做到这一点与我们在NodeJS有什么? 我不想依赖从NodeJS执行(重)bash脚本来知道类似的东西。

尝试使用节点使用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 } }); 

当然,我可能是错的,但我不确定是否有一个工作进程的CPU使用率的API,但你可以得到每个核心的所有核心: http : //nodejs.org/api/os.html#os_os_cpus

在另一个说明:对于这样的权力,你可能要考虑检查你有权访问所有的系统内存。 V8限制为需要重新编译的默认设置,以便为存储器访问提供“更深的口袋”。