1

LINUXのJavaコードから特定のプロセスのCPU使用率を取得する必要があります。

私は試した

プロセスp=Runtime.getRuntime()。exec( "top");

また

プロセスp=Runtime.getRuntime()。exec( "top | grep java");

しかし、それは何も返していません。実際、いくつかのJBOSSノードのCPU使用率を取得したいと思います。Javaコード内で「トップ」または何かを実行できる場合は、出力を処理して、必要な詳細を見つけることができます。

でもやってみたら

プロセスp=Runtime.getRuntime()。exec( "ls -l");

正しく出力を返します。

このようにできることはありますか、それともこれを行うための他のオプションはありますか?

ありがとう。

4

2 に答える 2

2

プロセス ID を知っていて、それらを開始したユーザーである (または十分な特権を持っている) 場合は、疑似ファイル /proc/ PID /stat を読み取ることでいつでも詳細を取得できます。この質問への回答として、これを行う方法の適切な説明があります: C から Linux で PID によってプロセスの CPU 使用率を計算する方法は? .

于 2012-10-26T16:46:51.857 に答える
0

これはうまくいくはずです...

Runtime.getRuntime().exec("ps -ao pcpu,args | grep java");

またはtop -b | grep java、使用を主張する場合top

于 2012-10-26T16:41:42.277 に答える