2009-11-19 102 views
2

我正在尋找Java解決方案來查找Windows中正在運行的進程的CPU使用情況。在環顧網絡之後,似乎很少有關於Java解決方案的信息。請記住,我不想查找JVM的CPU使用率,但是當時在Windows中運行的任何進程。使用Java檢索窗口進程的CPU使用情況

我能夠通過使用exec(「tasklist.exe ...」)檢索和分析過程信息來檢索Java中的內存使用情況。儘管每個進程都有一個聚合CPU週期計時器,但我沒有看到CPU使用率列。

任何幫助將不勝感激。另外,如果可能的話,我想遠離C庫;但是,如果沒有其他選擇,那麼採用這種方式的解決方案將是適當的。

非常感謝,

史蒂夫

回答

0

任何正在運行的進程在Windows

因此,Java不以任何方式控制?

我想從JNI

算了望而卻步。 Java不是平臺特定的。如果你想訪問平臺的具體信息,你不能繞過JNI。

1

調查Jacob。它可以讓你調用COM對象,並且在Windows上有這種信息的COM對象。

0

您正在編寫/使用單獨的程序將數據轉儲到某處,然後可以通過網絡,文件或數據庫從Java中選取它。在Linux中,你總是可以讀取/proc,但不是Win,需要單獨的proggy(沒有JNI)。

0

試用javasysmon, BSD許可證(準確地說:FreeBSD 2條款許可證)。

我用它來獲得CPU核心和CPU使用率。這比使用tasklist.exe我想更好。