Подтвердить что ты не робот

Интерпретация результатов jstat

Я новичок в инструменте jstat. Поэтому я сделал образец, как показано ниже.

./jstat -gcutil -t 4001 5000
Timestamp         S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT
       565088.4   0.00   0.89  75.86  40.59  84.80    405    3.822     4    0.549    4.371
       565093.4   0.00   0.89  77.81  40.59  84.80    405    3.822     4    0.549    4.371
       565098.4   0.00   0.89  77.81  40.59  84.80    405    3.822     4    0.549    4.371
       565103.5   0.00   0.89  77.85  40.59  84.80    405    3.822     4    0.549    4.371
       565108.5   0.00   0.89  77.85  40.59  84.80    405    3.822     4    0.549    4.371
       565113.4   0.00   0.89  77.85  40.59  84.80    405    3.822     4    0.549    4.371


jstat -gc output

 S0C    S1C    S0U    S1U      EC       EU        OC         OU       PC     PU    YGC     YGCT    FGC    FGCT     GCT
704.0  704.0   0.4    0.0    6080.0   4013.8   14928.0     6335.2   21248.0 18019.6    436    3.957   4      0.549    4.506
704.0  704.0   0.4    0.0    6080.0   4016.6   14928.0     6335.2   21248.0 18019.6    436    3.957   4      0.549    4.506
704.0  704.0   0.4    0.0    6080.0   4135.4   14928.0     6335.2   21248.0 18019.6    436    3.957   4      0.549    4.506
704.0  704.0   0.4    0.0    6080.0   4135.4   14928.0     6335.2   21248.0 18019.6    436    3.957   4      0.549    4.506
704.0  704.0   0.4    0.0    6080.0   4135.4   14928.0     6335.2   21248.0 18019.6    436    3.957   4      0.549    4.506
704.0  704.0   0.4    0.0    6080.0   4135.4   14928.0     6335.2   21248.0 18019.6    436    3.957   4      0.549    4.506

Что указывает этот результат? Которыми являются столбцы для поиска возможной проблемы с памятью, например. утечка памяти и т.д.

4b9b3361

Ответ 1

См. документацию:

http://docs.oracle.com/javase/6/docs/technotes/tools/share/jstat.html#output_options

В основном одна строка - один момент времени. В столбцах отображаются данные о областях памяти JVM (Survivor, Eden,...), понимание их невозможно, не зная, как работает JVM.

Например, в статье сбор мусора JVM в молодом поколении есть некоторые объяснения.

Вот выдержка о том, как работает создание объектов JVM:

Eden - это место, где созданы новые объекты. Когда Eden заполнен, запускается small GC: если объект не ссылается на него, он будет удален, в противном случае он выживет и переместится в пространство Survivor (только одно из оставшихся в живых мест, используемых в время, все объекты из другого пространства копируются там).

Если объект переживает определенное количество обратного копирования, он перемещается в пространство Old. Если старое пространство заполнено, запускается Full GC, который влияет на все объекты в JVM, поэтому он намного тяжелее.

Кроме того, существует пространство Permanent, где хранятся "метаданные" (дескрипторы классов, поле, метод,... дескрипторы).

Ответ 2

gcutil дает статистику с точки зрения процентного использования

-gcutil Option
Summary of Garbage Collection Statistics 
Column  Description
S0      Survivor space 0 utilization as a percentage of the space current capacity.
S1      Survivor space 1 utilization as a percentage of the space current capacity.
E       Eden space utilization as a percentage of the space current capacity.
O       Old space utilization as a percentage of the space current capacity.
P       Permanent space utilization as a percentage of the space current capacity.
YGC     Number of young generation GC events.
YGCT    Young generation garbage collection time.
FGC     Number of full GC events.
FGCT    Full garbage collection time.
GCT     Total garbage collection time.

gc дает статистику в терминах ограниченного пространства и используемого пространства.

-gc Option
Garbage-collected heap statistics 
Column  Description
S0C     Current survivor space 0 capacity (KB).
S1C     Current survivor space 1 capacity (KB).
S0U     Survivor space 0 utilization (KB).
S1U     Survivor space 1 utilization (KB).
EC      Current eden space capacity (KB).
EU      Eden space utilization (KB).
OC      Current old space capacity (KB).
OU      Old space utilization (KB).
PC      Current permanent space capacity (KB).
PU      Permanent space utilization (KB).
YGC     Number of young generation GC Events.
YGCT    Young generation garbage collection time.
FGC     Number of full GC events.
FGCT    Full garbage collection time.
GCT     Total garbage collection time.

Источник: Docs