Javaのチューニングについて(まとめ)
■ 使用するツール群(client側にインストールする)
■ HPjtuneの使い方。
■ HPjmeterの使い方。
■ samuraiの使い方
■ 性能評価
■ 参考URL
・java1.4.X
→ 下記ツール群を動かす為に必要なプラットフォーム
・HPjtune
→ javaのGCの動作を見るためのツール
・HPjmeter
→ optimiser
・samurai
→ スレッドダンプを見るためのツール
http://yusuke.homeip.net/samurai/samurai.jnlp
http://yusuke.homeip.net/samurai/
■ HPjtuneの使い方。
1. Server側でGCログを出力するようにする
-Xverbosegc[:help]|[0|1][:file=[stdout|stderr|]]
2. GCログをHPjtuneに読み込ませる
[check point]
・Summary パネルにデータが表示されるのでチェックします。
全GC に使われた時間の割合(バー表示)
フルGC に使われた時間の割合(バー表示)
フルGC と全GC の比較(パイチャート表示)
・Heap usage パネルを選択すると、表示内容から以下のことがわかります。
ヒープの利用が単調増加し、ヒープが一杯状態に向っている。
実行中に起こっているGC のタイプを見ると、前半は、Scavenge
GC とSystem.gc だが、後半でOld 領域が一杯になったことが原因で
Full GC が起きている。
・Duration パネルを選択すると、表示内容から以下のことがわかります。
後半のある点から、GC 時間が急に増加している。
Full GC にかかる時間はScavenge GC にかかる時間に比べかなり長い。
・Cumlative パネルを選択すると、表示内容から以下のことがわかります。
作業量をあらわすObject Allocation がGC に時間がかかりはじめると、その傾きが減少している。
■ HPjmeterの使い方。
1. Server側でプロファイリングログを出力するようにする
-Xeprof[:help]|[0|1][:file=[stdout|stderr|]]
2. プロファイリングログをHPjmeterに読み込ませる。
■ samuraiの使い方
1. スレッドダンプを取得する。
hpuxについているシェルを実行する
2. MC1APServer.logをsamuraiに読み込ませる。
■ 性能評価
1. 評価(Assess)
以下の情報を集める事
・マシンのCPU数とクロックスピード(CPU数はglanceやgpmで確認可能)
・メインメモリ容量(同じくglanceやgpmで確認)
・ディスク容量(使用領域と未使用領域のサイズ。dfコマンドで確認)
・OSのチューニング可能なパラメータの値(HPjconfigツールで確認)
・OSに適用されるべきパッチ(HPjconfigで確認)
・JVMのバージョン(「java -version」コマンドで確認)
・JVMに指定しているオプション(-Xmsや-Xmxなど)
2. 測定
以下の情報を集める事
・パフォーマンス測定ツール「glance」および「gpm」
・JVMオプション「-Xverbosegc」(分析ツール「HPjtune」)
・JVMオプション「-Xeprof」(分析ツール「HPjmeter」)
・「kill -3」によるスタックトレースの取得
■ 参考URL
http://www1.jpn.hp.com/products/software/oe/hpux/developer/column/tuning_01/index.html
コメント