27 października 2009

Monitorowanie JVM z użyciem JConsole

Zdarzyło mi się ostatnio popełnić aplikację, która intensywnie tworzy nowe wątki. Wątki te powinny istnieć od kilku do kilkudziesięciu sekund. Niby wszystko działa, ale jak by się tu upewnić, że wątki rzeczywiście kończą się niezawodnie po wykonaniu swojej pracy? Najwygodniej byłoby monitorować ich liczbę z użyciem jakiegoś narzędzia do monitorowania JVM. Takim narzędziem, prostym i ogólnodostępnym (jest częścią JDK) jest JConsole.

Przede wszystkim trzeba włączyć możliwość monitorowania JVM, tj. należy uruchomić monitorowaną aplikację przekazując do JVM (do polecenia java) argument:

-Dcom.sun.management.jmxremote

Następnie, za pomocą polecenia:

jps

należy sprawdzić ID procesu JVM i już możemy uruchomić aplikacje JConsole wydając polecenie:

jconsole <ID procesu JVM>

To wystarczy by cieszyć oczy wykresami, które są takie ładne, że nawet nadają się do pokazania swojemu Managerowi. Przykładowo, interesujący nas wykres pokazujący liczbę wątków:





1 komentarz:

Corvax pisze...

Ostatnio wyszedl nowy VisualVM 1.2. Z nim monitorowanie jest jeszcze wygodniejsze, a i wykresy jakby ladniejsze:)