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
この結果は何を示していますか?どのメモリ問題が発生する可能性があるかを調べる列です。メモリリークなど.
ドキュメントを参照してください:
https://docs.Oracle.com/javase/8/docs/technotes/tools/unix/jstat.html
基本的に、1行は1つの時点です。列には、JVMのメモリ領域(Survivor、Edenなど)に関するデータが表示されます。JVMの動作方法がわからないと、それらを理解することはできません。
たとえば、記事 若い世代のJVMガベージコレクション にはいくつかの説明があります。
JVMオブジェクト生成の仕組みの抜粋を次に示します:
Eden
は、新しいオブジェクトが作成された場所です。エデンがいっぱいになると、small GC
が実行されます。オブジェクトへの参照がない場合、オブジェクトは削除されます。それ以外の場合は、生き残り、Survivor
スペース(一度に使用されるサバイバースペースの1つのみ、他のスペースはそこにコピーされます)。
オブジェクトが一定数の前後コピーを生き残った場合、そのオブジェクトはOld
スペースに移動されます。古いスペースがいっぱいの場合、Full GC
が実行されますが、これはJVM内のすべてのオブジェクトに影響するため、はるかに重い操作です。
また、「メタデータ」(クラス記述子、フィールド、メソッド、...記述子)が格納されるPermanent
スペースがあります。
gcutilは、使用率の観点から統計を提供します
-gcutil Option
Summary of Garbage Collection Statistics
Column Description
S0 Survivor space 0 utilization as a percentage of the space's current capacity.
S1 Survivor space 1 utilization as a percentage of the space's current capacity.
E Eden space utilization as a percentage of the space's current capacity.
O Old space utilization as a percentage of the space's current capacity.
P Permanent space utilization as a percentage of the space's 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
この単純な オンラインjstatビジュアライザーツール を使用して、jstat GC統計をプロットします。