java、じゃヴぁ、じゃば
ヒープチューニング
オプション
ログ出力用
-verbose:gc -Xloggc:gc-$$.log [-XX:+PrintGCDetails]
サイズ調整用
-Xmx , 最大ヒープサイズ(e.g. -Xmx1024M) -Xms , 最小ヒープサイズ(通常、-Xmxと同じ値にする) -XX:MaxNewSize , NEW(Eden&Survivor)領域最大サイズ(e.g. -XX:MaxNewSize=2024M) -XX:NewSize , NEW領域最小サイズ(通常、MaxNewSizeと同じ値にする) -XX:SurvivorRatio, Eden領域/ Survivor(From/To)領域の比(通常、2〜8) -XX:MaxPermSize , 最大Permanent領域サイズ -XX:PermSize , 最小Permanent領域サイズ(通常、MaxPermSizeと同じ値にする)
その他
-XX:MaxTenuringThreshold, NewからOldに遷移するまでのGC回数(default 32) -XX:TargetSurvivorRation, Survivor領域のしきい値(80〜90、単位%) -XX:+PrintClassHistogram, SIGQUIT受信時にヒープ情報を出力
例
"-Xss512M" "-Xmx1024M" "-Xms1024M" "-XX:NewSize=512M" "-XX:MaxNewSize=512M" "-XX:PermSize=128M" "-XX:MaxPermSize=128M" "-XX:SurvivorRatio=2" "-XX:TargetSurvivorRatio=80" "-XX:MaxTenuringThreshold=32" "-XX:+UseParallelGC" "-XX:+AggressiveOpts" "-XX:+PrintGCTimeStamps" "-XX:+PrintGCDetails" "-verbose:gc" "-Xloggc:gc-$$.log" "-XX:+PrintClassHistogram"
jstat
http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/share/jstat.html
$ jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
使用例
$ jps -v (プロセスIDを確認, Java Virtual Machine Process Status Tool) $ jstat -gcutil -h8 <プロセスID> 5000 $ jstat -gc -h8 <プロセスID> 3000 32 $ jstat -gccapacity <プロセスID> 10000 $ jstat -options