GC ( Garbage Collection )
Scavenge GC
New 領域が不足した場合に実行され、主に New 領域が対象です。比較的、頻繁に行われ、短い時間で処理が終わります。
Full GC
New 領域、Old 領域、Permanent 領域が不足した場合に実行されます。
起動オプション
起動オプション
各値の初期値は、各値の最大値と同じ大きさに設定すること
-Xms=256M -Xmx=256M -XX:PermSize=128M -XX:MaxPermSize=128M
-Xms ヒープ全体の初期値
-Xmx ヒープ全体の最大値
-XX:NewSize New 領域の初期値
-XX:MaxNewSize New 領域の最大値
-XX:PermSize Permanent 領域の初期値
-XX:MaxPermSize Permanent 領域の最大値
プロセスIDを確認
# jps
3011 Jps
3098 Bootstrap
現在の割り当てをみる
# jmap -heap [プロセスID]
ガーベージコレクションの統計情報を確認
上記のBootstrapのプロセスIDを基に以下で1秒おきに統計を取得
# jstat -gcutil [プロセスID] 1000
[[見方>http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/share/jstat.html#gcutil_option]]
|&color(gray){列}|説明|
|S0|Survivor 領域 0 の使用率 (現在の容量に対するパーセンテージ) |
|S1|Survivor 領域 1 の使用率 (現在の容量に対するパーセンテージ) |
|E|Eden 領域の使用率 (現在の容量に対するパーセンテージ) |
|O|Old 領域の使用率 (現在の容量に対するパーセンテージ) |
|P|Permanent 領域の使用率 (現在の容量に対するパーセンテージ) |
|YGC|Young 世代の GC イベント数 |
|YGCT|Young 世代のガベージコレクション時間 |
|FGC|フル GC イベント数 |
|FGCT|フルガベージコレクション時間 |
|GCT|ガベージコレクション総時間 |
参考
[[@IT Javaパフォーマンスチューニング 第3回 Javaのヒープ・メモリ管理の仕組み >http://www.atmarkit.co.jp/fjava/rensai3/devedge03/devedge03_1.html]]
[[@IT:連載:J2EEパフォーマンスチューニング>http://www.atmarkit.co.jp/fjava/rensai/j2eeprfm04/j2eeprfm04_1.html]]
[[SUN jstat(Java 仮想マシン統計データ監視ツール)のマニュアル>http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/share/jstat.html#gc_option]]
[[SUN jps(Java 仮想マシンプロセスステータスツール)のマニュアル>http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/share/jps.html]]
[[Servletシステムのパフォーマンスチューニング>http://www.ingrid.org/java/jserv/performance/]]
[[事例に学ぶWebシステム開発のワンポイント(6)>http://www.atmarkit.co.jp/fjava/rensai2/webopt06/webopt06.html]]
[[事例に学ぶWebシステム開発のワンポイント(9)>http://www.atmarkit.co.jp/fjava/rensai2/webopt09/webopt09.html]]
とりあえず読んどけ
http://www.math.kobe-u.ac.jp/~kodama/tips-free-memory.html
とりあえずメモ
最終更新:2010年09月14日 16:44