7

24コアのサーバーでプロセスを生成するNodeJSアプリケーションがあります。原則として、コアごとに複数のプロセスを生成することはありません(最大で合計24のプロセス)。各プロセスが生成されるコアのCPU使用率を知りたいです。このようなことを調査することは可能ですか?を使用できることはわかってos.cpus()いますが、これにより、クエリを実行しているプロセスが機能しているCPUではなく、マシン内のすべてのCPUに関するより一般的な情報が返されます。

NodeJSにあるものでこのようなことをすることは可能ですか?そのようなことを知るために、NodeJSからの(重い)bashスクリプトの実行に依存したくありません。

4

2 に答える 2

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 }
});
于 2013-03-03T17:51:44.543 に答える
3

もちろん、私は間違っている可能性がありますが、ワーカープロセスの CPU 使用率に関する API があるかどうかはわかりませんが、すべてのコアについてコアごとに取得できます: http://nodejs.org/api/os.html#os_os_cpus

別の注意点: このような能力については、システムのすべてのメモリにアクセスできることを確認することを検討してください。V8 では、メモリ アクセス用の「より深いポケット」を確保するために再コンパイルが必要なデフォルトに制限されています。

于 2013-01-23T17:48:03.547 に答える