3

Windowsで実行中のプロセスのCPU使用率を見つけるためのJavaソリューションを探しています。Webを見回した後、Javaのソリューションに関する情報はほとんどないようです。私はJVMのCPU使用率を探しているのではなく、その時点でWindowsで実行されているプロセスを探していることを覚えておいてください。

exec( "tasklist.exe ...")を使用してプロセス情報を取得および解析することにより、Javaのメモリ使用量を取得できます。プロセスごとに合計CPUサイクルタイマーがありますが、CPU使用率の列が表示されません。

どんな助けでも大歓迎です。また、可能であれば、Cライブラリには近づかないようにしたいと思います。ただし、他に選択肢がない場合は、その方法による解決策が適切です。

どうもありがとう、

スティーブ

4

6 に答える 6

1

ジェイコブを調べてください。COMオブジェクトを呼び出すことができ、Windowsにはこの種の情報を提供するCOMオブジェクトが豊富にあります。

于 2009-11-19T23:28:10.967 に答える
1

GPLライセンスのAPIで問題がない場合は、試してみてください

SIGAR-システム情報収集者およびレポーター

それはあなたが望む(そしてはるかに)情報へのアクセスを可能にし、多くの関連するプラットフォームでサポートされています

于 2009-11-19T23:34:38.513 に答える
0

Windowsで実行中のプロセス

したがって、Javaによって制御されていませんか?

JNIから離れたい

忘れてください。Javaはプラットフォーム固有ではありません。プラットフォーム固有の情報にアクセスしたい場合、JNIを回避することはできません。

于 2009-11-19T23:25:17.147 に答える
0

別のプログラムを作成/使用してそのデータをどこかにダンプし、ネットワーク、ファイル、またはDBのいずれかを介してJavaからデータを取得する可能性があります。Linuxではいつでも読むことができます/procが、Winではできません。別のプログラムが必要になります(JNIなし)。

于 2009-11-19T23:30:16.103 に答える
0

BSDライセンスのjavasysmonを試してみてください(正確には、FreeBSD 2節ライセンス)。

CPUコアとCPU使用率を取得するために使用しました。tasklist.exeを使用するよりもはるかに優れていると思います。

于 2010-04-04T03:58:58.943 に答える