Hohe CPU-Auslastung in Java-Anwendungen - warum?

Ich habe eine Java-Anwendung (web-basiert), dass in Zeiten, zeigt sehr hohe CPU-Auslastung (fast 90%) für mehrere Stunden. Linux TOP Befehl zeigt dies. Auf Anwendung neu starten, verschwindet das problem.

So zu untersuchen:

Ich nehmen Thread-Dump zu finden, welche threads zu tun. Mehrere Threads gefunden in 'RUNNABLE' Zustand, einige nur in wenigen anderen Staaten. Auf die Einnahme wiederholte Thread-Dumps, sehe ich einige threads, die immer vorhanden sind, in 'RUNNABLE' Zustand. So, Sie zu sein scheinen die Täter.

Aber ich bin nicht in der Lage zu sagen, sicher, welcher Thread in Beschlag, der CPU und hat sich in eine Endlosschleife (der dadurch verursacht hohe CPU-util).

Logs nicht unbedingt helfen, da die fehlerhaften code kann nicht anmelden, nichts.

Wie kann ich ermitteln, welcher Teil der Anwendung oder was-thread ist, verursachen Hohe CPU-Auslastung? - Irgendwelche anderen Ideen?

InformationsquelleAutor der Frage Jasper | 2013-04-04

Schreibe einen Kommentar