2012-11-15 17 views
7

widzę obecnie Prod następujące:Jak zrozumieć pełny dziennik GC?

5429.779: [Full GC [PSYoungGen: 13809K->0K(505216K)] [PSOldGen: 253802K->245481K(319488K)] 267612K->245481K(824704K) [PSPermGen: 70059K->70059K(118784K)], 0.5869143 secs] [Times: user=0.59 sys=0.00, real=0.59 secs] 

I zrozumieć, że A-> B (° C) oznacza: przed GC, B, C po GC stosie bez zwyczajnych i trwałą

Co nie rozumiem jest kawałek (poza wszystkimi [] s), który jest 267612K->245481K(824704K). Do czego to się odnosi?

Odpowiedz

3

Jest to całkowita liczba generacji, czyli połączone użycie sterty i całkowity rozmiar sterty w rzeczywistej pamięci (pokazane w nawiasach klamrowych).

W podanym przykładzie, [PSYoungGen: 13809K->0K(505216K)] [PSOldGen: 253802K->245481K(319488K)] 267612K->245481K(824704K):

13809K + 253802K = 267612K 

0K + 245481K = 245481K 

505216K + 319488K = 824704K 
4

Mogę porad można użyć narzędzi zamiast ręcznie czytania dzienników.

Spróbuj HPJmeter narzędzie

znajdę tego narzędzia najlepiej. Odpoczynek jest tak wiele narzędzi. Odwoływanie się: Know of any Java garbage collection log analysis tools?

Ogólnie zgodnie z moim doświadczeniem, zawsze lepiej jest używać narzędzi takich jak powyższy, który po prostu importuje plik dziennika GC & podaje szczegółowe wykresy dla różnych generacji. Jeśli zdecydujesz się na ręczne czytanie, twój czas będzie bardziej zainwestowany w czytanie niż analiza wydajności.