wtorek, marca 18, 2008

Nieznane skarby JDK - JConsole :-)

Walczyłem dziś w pracy z PermGen'em [czyli obszarem pamięci w JVM do którego wędrują obiekty, które nie zostaną nigdy poddane działaniu Garbage Collectora, takimi szczęśliwcami są pliki .class, niektóre String'i oraz obiekty, które zostały namaszczone do przebywania w tym miejscu przez algorytmy GC ;-), mamy jeszcze 3 obszary - Eden Space: gdzie wpadają obiekty świeżynki na które co chwila czyha Garbage Collector, Survivor Space: gdzie mieszkają te obiekty które przetrwały trudne czasy Eden'u i walkę z natrętnym GC, Tenured Gen: zasłużeni, praktycznie nie do usunięcia przez GC, który zagląda do nich nieczęsto, czwarty jest wspomniany już Perm Gen: stali mieszkańcy ;-)], szukałem więc jakichś narzędzi które byłyby na tyle miłe by pokazać mi jak program się sprawuje...I znalazłem :-)Do JDK dodawany jest miły program zwany JCONSOLE, którego znaleźć można w katalogu bin JDK.Po uruchomieniu pozwala nam na podpięcie się do praktycznie dowolnej aplikacji Java działającej na naszej maszynie [lub na maszynie odległej]Możemy obejrzeć jak program używa pamięci, podejrzeć ile ma wątków i zobaczyć Stack Trace dla nich, sprawdzić ile załadowano klas, obejrzeć podsumowanie dla podglądanej JVM, pogadać z MBeans'ami.Bardzo użyteczny coś :-)[hackowanie w tagach nie ma nic wspólnego z hackowaniem sieci, a raczej z zaglądaniem w trzewia różnych rzeczy, tutaj JVM :-)]


Podobne postybeta
Nieznane ścieżki Garbage Collectora :-)
Koszmarne Garbage Collectory part 2 ;)
Samochód jako zmniejszacz temperatury.... GC i jak to możliwe, że Young Generation może być zbyt duże, strzeż się finalize() i muzyczka :-) Czyli potok świadomości....
TimeToRead 0.0.2 - nowy tag i poprawki ;-)
Przepis na szybkie programy ;-)