Pamięć java heap

Aby sprawdzić obecne użycie pamięci Java Heap na systemie Linux, możesz skorzystać z narzędzia jstat. Narzędzie to jest dostarczane wraz z JDK (Java Development Kit).

Aby skorzystać z jstat, wykonaj następujące kroki:

  1. Otwórz terminal.
  2. Uruchom jstat z odpowiednimi parametrami. Poniżej znajduje się przykładowe polecenie, które pokaże statystyki dotyczące Java Heap:
jstat -gc <PID>

Gdzie <PID> to identyfikator procesu JVM. Możesz go znaleźć, uruchamiając polecenie jps.Przykładowo, jeśli Twoje PID to 1234, wykonaj:

jstat -gc 1234

Polecenie jstat z opcją -gc wyświetla informacje na temat zużycia pamięci przez Java Heap oraz działanie garbage collectorów.Otrzymasz wyniki w kolumnach przedstawiających różne metryki, takie jak S0C (rozmiar edenu odzyskanego w pierwszej generacji), S1C (rozmiar edenu odzyskanego w drugiej generacji), S0U (użycie edenu w pierwszej generacji), S1U (użycie edenu w drugiej generacji), EC (rozmiar edenu w obiegu), EU (użycie edenu w obiegu), OC (rozmiar starego obszaru), OU (użycie starego obszaru), MC (rozmiar metaspace), MU (użycie metaspace) i inne.

Pamiętaj, że musisz zastąpić <PID> rzeczywistym identyfikatorem procesu JVM.

To polecenie pokaże aktualne statystyki Java Heap. Jeśli chcesz monitorować te dane w czasie rzeczywistym, możesz uruchomić jstat w trybie interaktywnym, dodając flagę -t:

jstat -gc -t <PID> <interval> <count>

Gdzie <interval> to okres czasu (w milisekundach) między kolejnymi odczytami, a <count> to liczba odczytów do wykonania.

Przykład z interwałem 1 sekundy i 10 odczytami:

jstat -gc -t 1234 1000 10

Takie podejście pozwoli Ci monitorować zmiany w użyciu pamięci Java Heap w czasie.