Pregunta

Estoy buscando una solución Java para encontrar el uso de CPU para un proceso en ejecución en Windows. Después de mirar alrededor de la web, parece que hay poca información sobre una solución en Java. Tenga en cuenta, no estoy buscando para encontrar el uso de la CPU para la JVM, pero cualquier proceso que se ejecuta en Windows en el momento.

Soy capaz de recuperar el uso de la memoria en Java usando el exec ( "Tasklist.exe ...") para recuperar y analizar la información del proceso. Aunque no es un temporizador de ciclo de la CPU agregada para cada proceso, no veo una columna de uso de la CPU.

Cualquier ayuda sería muy apreciada. También, si es posible, me gustaría permanecer lejos de bibliotecas de C; sin embargo, si no hay otra alternativa, una solución mediante la que los medios sería apropiado.

Muchas gracias,

Steve

¿Fue útil?

Solución

Si una API con licencia GPL está bien para usted, pruebe

SIGAR - Información del sistema recolector y reportero

Permite el acceso a la información que desee (y mucho más) y se apoya en muchas plataformas pertinentes

Otros consejos

Jacob . Se le permitirá llamar a objetos COM, y hay abundancia de objetos COM para este tipo de información en Windows.

a escribir / usando un programa separado para volcar los datos en alguna parte y entonces podría recoger de Java ya sea a través de la red, archivos, o DB. En Linux siempre se puede leer /proc pero no en el triunfo, sería necesario un proggy separado (sin JNI).

  

cualquier proceso que se ejecuta en Windows

Por lo tanto, no controlado por Java de alguna manera?

  

Me gustaría permanecer lejos de JNI

Olvídalo. Java no es específica de la plataforma. Si desea acceder a la información específica de la plataforma, no se puede dar la vuelta JNI.

Pruebe javasysmon , BSD licencia (para ser precisos: la 2-cláusula FreeBSD licencia).

I utilizado para obtener núcleo de la CPU y uso de la CPU. Es mucho mejor que usar Tasklist.exe creo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top