我正在寻找一种Java解决方案来查找Windows中正在运行的进程的CPU使用情况。浏览网页后,似乎没有关于Java解决方案的信息。请记住,我不是要查找JVM的CPU使用情况,而是查找当时在Windows中运行的任何进程。
我可以使用exec(“tasklist.exe ...”)来检索和解析进程信息,从而检索Java中的内存使用情况。虽然每个进程都有一个聚合CPU周期计时器,但我看不到CPU使用率列。
非常感谢任何帮助。另外,如果可能的话,我想远离C库;但是,如果没有其他选择,通过这种方式的解决方案是合适的。
非常感谢,
史蒂夫
答案 0 :(得分:1)
查看Jacob。它将允许您调用COM对象,并且在Windows上有这种信息的COM对象。
答案 1 :(得分:1)
答案 2 :(得分:0)
Windows中的任何正在运行的进程
因此,不是以任何方式受Java控制?
我想远离JNI
算了。 Java不是特定于平台的。如果您想访问特定于平台的信息,则无法绕过JNI。
答案 3 :(得分:0)
您正在编写/使用单独的程序将数据转储到某处,然后可以通过网络,文件或数据库从Java中获取数据。在Linux中你总是可以阅读/proc
但不能在Win上阅读,需要单独的程序(没有JNI)。
答案 4 :(得分:0)
看看这些问题:
答案 5 :(得分:0)
试用javasysmon,获得BSD许可(确切地说:FreeBSD 2条款许可)。
我用它来获取CPU核心和CPU使用率。它比使用tasklist.exe要好得多。