# CPU Auslastung mit Java auslesen?



## meteora28 (11. Mai 2010)

Hallo Leute,

gibt es eine Möglichkeit die CPU Auslastung mit reinem java auszulesen oder zu berechnen?
Ich habe bisher nur unschöne Lösung via JNI gefunden.

JConsole kann wenn ich das richtig sehe auch die CPU Last darstellen.
Kann man irgendwie an den Quellcode kommen?

Kennt sonst irgendjemand eine Möglichkeit?

Danke!

meteora28


----------



## maki (11. Mai 2010)

Suche mal nach JMX, der NAchfolger von JConsole ist VisualVm, da kannst du dir auch  die Sourcen runterladen.


----------



## meteora28 (11. Mai 2010)

Ich arbeite bereits mit JMX um an diverse andere Informationen zu gelangen, an die CPU Auslastung, ähnlich wie beim Task Manager von Windows komme ich jeodch damit nicht.

VisualVm sieht auf jeden Fall interessant aus, eine CPU Last bekommt man hier auch angezeigt, ähnlich oder genauso wie bei JConsole. Die Frage ist nun, wie wird diese realisiert?

Danke für die schnelle Antwort.

Vielleicht hat noch jemand eine Idee?


----------



## maki (11. Mai 2010)

k.A. wie das realisiert wird, aber der Quelltext könnte den einen oder anderen Hinweis enthalten


----------



## Empire Phoenix (12. Mai 2010)

mit jna die windows api benutzen wäre mein vorschlag, sollte in 1-2 stunden machbar sein wenn man absolut keine Ahnung von hat aber java programmieren kann.


----------



## meteora28 (26. Mai 2010)

Also sowohl JConsole, als auch VisualVM zeigen mir die CPU Last an.
Nun ist die Frage, ob dies nur mit Java oder anderen Hilfsmitteln realisiert wurde.
Kann mir hier jemand weiterhelfen der sich mit einer/beiden Realisierungen beschäftigt hat?


----------



## L-ectron-X (26. Mai 2010)

Mit Pure Java wird das nicht möglich sein. Für hardwarenahe Programmierung wurde Java nicht gemacht.
Ich denke, dass dafür auf native Bibliotheken zurückgegriffen wird.


----------



## tuxedo (26. Mai 2010)

Naja, ich denke schon dass JMX da was anbietet bzgl. CPU Last. An die aktuelle Prozess-ID kommt man ja auch dran. Ergo könnte es sein dass die JVM via JMX solche Infos preis gibt.
Wissen tu ich's aber nicht. Ist nur geraten/vermutet.

- Alex

[update]
Wie wär's damit?!

--> https://java.sun.com/javase/6/docs/...atingSystemMXBean.html#getSystemLoadAverage()
--> https://java.sun.com/javase/6/docs/...ingSystemMXBean.html#getAvailableProcessors()

Dann noch ein bisschen rechnen und schon hat man die gewünschte Info ...
(gefunden via How to monitor the computer's cpu, memory, and disk usage in Java? - Stack Overflow)


----------



## iL0ndi (29. Nov 2013)

ich weiss, dass der Thread schon etwas älter ist, aber ich wollte nicht einen neuen erstellen...
Ich hab etwas Schwierigkeiten die CPU Auslastung anzuzeigen. Gibt es inzwischen nach 3 Jahren eine einfachere Methode dies auszulesen?


----------



## Phash (29. Nov 2013)

java mission control ist recht brauchbar...

jdk/bin/jmc.exe


----------



## iL0ndi (30. Nov 2013)

wie kann ich das in meinem Programm einbauen?


----------

