トップ 一覧 置換 検索 ヘルプ RSS ログイン

GCの仕組みの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
GCの仕組み
http://wiki.livedoor.jp/author_nari/d/GC
http://www.atmarkit.co.jp/fjava/rensai3/devedge03/devedge03_1.html
http://www.whitemark.co.jp/tec/java/javagc.html

{{ref @IT:Javaパフォーマンスチューニング 第3回.pdf}}
{{ref GC.pdf}}



!!GC に関連する主な Java の起動オプション
,-verbose:gc,一般的な GC 情報を出力
,-Xloggc:filename,GC の出力情報をファイル filename に保存
,-XX:+PrintGCDetails,New 領域、Old 領域の詳細情報を出力
,-XX:+PrintTenuringDistribution,オブジェクトの寿命の情報
,-XX:+PrintHeapAtGC,GC 前後のヒープ領域の情報
,-XX:+TraceGen0Time,New 領域の GC の回数、総時間、平均時間
,-XX:+TraceGen1Time,Old 領域の GC の回数、総時間、平均時間

!-verbose:gc
  [GC 512K->276K(1984K), 0.0048112 secs]
  [GC 780K->517K(1984K), 0.0067000 secs]
  [GC 625K->566K(1984K), 0.0033630 secs]
  [GC 1078K->1077K(1984K), 0.0016818 secs]

上記の例より以下のデータ ( 1 行目のデータ ) を基に情報の説明を記述します。
[GC 512K->276K(1984K), 0.0048112 secs]
  ■ GC ・・・GC の種類を表示します。
  「GC」 と表示されれば主に New 領域が対象の Scavenge GC です。
  「FULL GC」と表示されれば New 、Old 領域が対象の FULL GC です。
  ■ 512K ・・・GC 前のオブジェクトのサイズ
  ■ 276K ・・・GC 後のオブジェクトのサイズ
  ■ (1984K)・・全体のヒープ領域 ( New 領域 )
  ■ 0.0048112 secs・・・この GC の処理時間

!-XX:+PrintGCDetails
  3.125: [GC 3.125: [DefNew: 3328K->384K(3712K), 0.0112500 secs] 8168K->5998K(16000K), 0.0113291 secs]
  4.539: [GC 4.539: [DefNew: 3712K->4K(3712K), 0.0032661 secs] 9326K->5999K(16000K), 0.0033515 secs]
  10.668: [GC 10.669: [DefNew: 3332K->3K(3712K), 0.0015267 secs] 9327K->5999K(16000K), 0.0015929 secs]
  12.103: [GC 12.103: [DefNew: 3331K->3K(3712K), 0.0003727 secs] 9327K->5999K(16000K), 0.0004336 secs]
  13.539: [GC 13.539: [DefNew: 3331K->4K(3712K), 0.0003766 secs] 9327K->5999K(16000K), 0.0004347 secs]
  18.199: [GC 18.199: [DefNew: 3332K->10K(3712K), 0.0012516 secs] 9327K->6005K(16000K), 0.0013153 secs]


上記の例より以下のデータ ( 1 行目のデータ ) を基に情報の説明を記述します。
3.125: [GC 3.125: [DefNew: 3328K->384K(3712K), 0.0112500 secs] 8168K->5998K(16000K), 0.0113291 secs]
上記のデータの説明
  ■ 3.125・・・JVM が起動してから GC が発生した時間
  ■ GC   ・・・GC の種類を表示します。
  「GC」 と表示されれば主に New 領域が対象の Scavenge GC です。
  「FULL GC」と表示されれば New 、Old 、Permanent 領域が対象の FULL GC です。
  
  New 領域の情報
  ■ DefNew・・・New 領域に対するGCを表す。以下の値はNew 領域が対象。
  ■ 3328K ・・・GC 前のオブジェクトのサイズ ( New 領域 )
  ■ 384K  ・・・GC 後のオブジェクトのサイズ ( New 領域 )
  ■ (3712K) ・・New 領域のヒープサイズ 
  ■ 0.0112500 secs・・・この New 領域の GCにかかった時間
  
  ヒープ全体の情報
  ■ 8168K ・・・GC 前のオブジェクトのサイズ
  ■ 5998K ・・・GC 後のオブジェクトのサイズ
  ■ (16000K)・・全体のヒープサイズ
  ■ 0.0113291 secs・・・この GC にかかった時間


{{category2 プログラミング言語,Java}}