November 2007

Java-Anwendungen überwachen mit JConsole

Gerade bei speicher- oder rechenintensiven Anwendungen kann es oft zu unerwarteten Performance-Problemen kommen. Bei der Suche nach den Übertätern hilft oft das Betriebssystem weiter.

Bei Java-Anwendungen ist man allerdings besser beraten, wenn man spezielle Werkzeuge verwendet, da man dann auch noch andere JVM-internen Werte abfragen oder auch beeinflusst kann.

Wer keine Profiling oder Monitoring Software kaufen möchte und im Prinzip nur ein kleinen Überblick über die Speicher- und Prozessorauslastung seiner Java-Anwendung haben möchte, dem genügt eventuell schon JConsole.

JConsole

Das Tool JConsole ist in der Standard-JDK enthalten und hilft bei Speicherproblemen und Monitoring. Wenn zum Beispiel sehr viele "alte" Objekte im Hauptspeicher liegen und nicht entsorgt werden, dann ist meistens die Tenured Gen relativ voll. Außerdem kann beispielsweise der Stack-Trace aller JVM-Threads angezeigt werden und viele Details der JVM, wie beispielsweise der genaue Classpath abgefragt werden, eine Garbage Collection manuell erzwungen werden und vieles andere mehr.

(originally posted on 2007-11-17)