Vor einiger Zeit habe ich schon mal ein paar Dinge ueber Tomcat und Java festgehalten. Den Blogeintrag von damals gibt es hier:
Heute nochmal der Hinweis auf ein paar nuetzliche Tools hinterher
jvmtop
Das Tool ist wie „top“ auf der Kommandozeile, nur fuer die JVM. Wenn man ihm zum Beispiel die PID eines Tomcat Prozesses uebergibt, dann sieht man welche Threads wie viel CPU verbrauchen etc. Beispiel:
./jvmtop.sh $(pidof java)
URL: https://code.google.com/p/jvmtop/wiki/Documentation
Java Thread Dump Analyser
Mit dem Tool kann man sich den Inhalt eines Thread Dumps ein bisschen besser ausgewertet anzeigen lassen. Beispiel:
jstack -l $(pidof java) > /tmp/threaddump.txt java -jar jtda.jar /tmp/threaddump.txt
URL: http://mchr3k.github.io/javathreaddumpanalyser/
VisualVM
Der Klassiker. Ueber JMX mit der JVM verbinden und dann alle moeglichen Informationen live daraus ziehen. Dafuer notwendige Konfiguration:
-Djava.rmi.server.hostname=localhost -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9991 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
URL: http://visualvm.java.net/
psi-probe
Der „bessere“ Tomcat Manager. Wer noch den Klassischen nutzt sollte sich diese Applikation unbedingt angucken. Einfach die war in den Tomcat legen und den Benutzernamen den man fuer den Tomcat Manager vergeben hat dafuer mit nutzen.
URL: https://code.google.com/p/psi-probe/
Eclipse Memory Analyzer (MAT)
Wer seine JVM so konfiguriert hat das bei einem OutOfMemory Fehler ein HeapDump geschrieben wird, der kann diesen mit MAT am besten oeffnen und hineinschauen. Dafuer notwendige Konfiguration:
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/dumps/