Welcher Thread setzt meinen Server unter Last?

25.04.2015

Hallo zusammen,

wenn eine Java-Webanwendung Probleme bereitet und die Auslastung des Servers auf 100% schnellt, ist es meist recht schwer herauszufinden, wer denn nun eigentlich der Übeltäter ist. Dabei ist eine genaue Analyse leichter als gedacht. Kurz zusammengefasst:

  1. Mithilfe von top die PID des Java-Prozesses ermitteln.
  2. In top Shift-H drücken. Dadurch werden, statt Prozessen, die einzelnen Threads angezeigt.
  3. Die ID des Java-Threads mit der hohen Auslastung heraussuchen und notieren.
  4. Einen Threaddump der Anwendung ziehen, z.B. mit jstack <PID>
  5. Die ID des Java-Threads in Hex umwandeln.
  6. Diese Hex-ID könnt ihr nun im Threaddump suchen und so ermitteln, welcher Thread der Übeltäter ist.

 

Zurück zur Übersicht

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*Pflichtfelder

*