English 中文(简体)
Using Java to retrieve the CPU Usage for Window s Processes
原标题:

I am looking for a Java solution to finding the CPU usage for a running process in Windows. After looking around the web, there seems to be little information on a solution in Java. Keep in mind, I am not looking to find the CPU usage for the JVM, but any process running in Windows at the time.

I am able to retrieve the memory usage in Java by using the exec("tasklist.exe ... ") to retrieve and parse process information. Although there is an aggregate CPU cycle timer for each process, I do not see a CPU usage column.

Any help would be greatly appreciated. Also, if possible, I would like to stay away from C libraries; however, if there is no other alternative, a solution by that means would be appropriate.

Thanks a lot,

Steve

最佳回答

If a GPL licensed API is fine for you, try out

SIGAR - System Information Gatherer And Reporter

It allows access to the info you want (and much more) and is supported on many relevant platforms

问题回答

Look into Jacob. It will let you call COM objects, and there are COM objects galore for this kind of information on Windows.

You be writing/using a separate program to dump that data somewhere and could then pick it up from Java through either network, files, or DB. In Linux you could always read /proc but not on Win, a separate proggy would be needed (without JNI).

any running process in Windows

Thus, not controlled by Java in any way?

I would like to stay away from JNI

Forget it. Java isn t platform specific. If you want to access platform specific information, you can t go around JNI.

Try out javasysmon, BSD licensed (to be precise: the FreeBSD 2-clause license).

I used it to obtain CPU core and CPU Usage. It is much better than using tasklist.exe I think.





相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签