Java GCログフォーマット理解のまとめ

1513 ワード

Java GCログフォーマット理解のまとめ
次に、典型的なGCログを分析します.
33.125: [GC[DefNew:3324K->152K(3712K), 0.0025925 secs]3324K->152K( 11904K), 0.0031680 secs]
100.667: [FullGC[Tenured: 0 K->210K(10240K) , 0.0149142secs]4603K->210K( 19456K) , [Perm: 2999K->2999K( 21248K) ], 0.0150007 secs][Times: user=0.01 sys=0.00, real=0.02 secs]
  • 33.125100.667:GCが発生した時刻を表し、Java仮想マシンが起動してから経過した秒数
  • を意味する
  • [GCと[FullGC:今回のごみ回収停止タイプを説明した.「Full」があれば、今回のGCでStop-The-world(STW)が発生したことを説明した.
  • System.gc()メソッドを呼び出してトリガーされた収集であれば、ここに「[FullGC(System)」
  • が表示される.
  • [DefNew,[Tenured,[perm:GCで送信された領域を表し、GCコレクタの使用と密接に関連している
  • 使用しているSerialコレクタの新世代名は「Default New Generation」なので「[DefNew]
  • 使用されているParNewコレクタの新世代名は「Parallel New Generation」なので「[parNew」
  • 使用するParallel Scavengeコレクタの新世代名は「Parallel Scavenge Young Generation」なので「[PSyoungGen]
  • 旧世代Tenuredと永久世代Permは同じで、具体的な名称は依然として使用するコレクターによって決定される
  • [..3324K->152 K(3712 K)...]:フォーマットの意味は、「GC前にメモリ領域が使用された容量->GC後にメモリ領域が使用された容量(メモリ領域の総容量)
  • [...]3324 K->152 K(11904 K)…:フォーマットの意味は「GC前Javaヒープ使用容量->GC後Javaヒープ使用容量(Javaヒープ総容量)」
  • 0.0031680 secs:メモリ領域GCが消費する時間、単位秒を示す.
  • コレクタによっては、より具体的な時間が与えられる場合もあります"[Times:user=0.01 sys=0.00,real=0.02 secs]"
  • は、ユーザ状態で消費されるCPU時間、カーネル状態で消費されるCPU時間、および動作の開始から終了までの経過時間を表す.
  • TIP:Wall Clock Time(Wall Clock Time)は、ディスクIOのような非演算の待ち時間を含む.CPU時間は、これらの待ち時間を含まない