トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

Java プロファイラ

http://itpro.nikkeibp.co.jp/article/COLUMN/20061102/252525/
http://apis.jpn.ph/fswiki/wiki.cgi?page=Java%2Fhprof%28jvmpi%29

 hprof

とりあえず使ってみる

java -agentlib:hprof -jar Java2Demo.jar

デフォルトではプロファイル結果はjava.hprof.txt になる。

結果を見やすく

java -agentlib:hprof=format=bJava2Demo.jar

format=b で結果をバイナリ化する。結果ファイルはjava.hprofになる。

jhat java.hprof

で結果を解析してwebブラウザで見れるようになる。

http://localhost:7000

で見れる。
ただし、今のところヒープしか対応していないみたい。
cpuに関する情報は、テキストで見るしかないようだ。

 結果ファイルの見方

ヒーププロファイリング

SITES BEGIN から SITES END の部分が、使用メモリの統計情報で、メモリの使用量順に出力される。各カラム内容は以下の通り。
タイトル 意味
rank 消費メモリの順位
percent self 消費メモリのパーセンテージ
percent accum 消費メモリの累積パーセンテージ(上位rankのpercent selfとの和)
live bytes ライブオブジェクト(GCされていないオブジェクト)の消費バイト数
live objs ライブオブジェクトのオブジェクト数
alloc'ed bytes アロケートされたオブジェクト(GCされたオブジェクトを含む)の消費バイト数
alloc'ed objs アロケートされたオブジェクトのオブジェクト数
stack trace 対応するトレース番号
class name クラス名

クラス名の部分に記述されている [C や [I といったクラス名は配列を表す。
クラス名 意味
[Lクラス名 オブジェクトの配列
[Z boolean型の配列
[B byte型の配列
[C char型の配列
[S short型の配列
[I int型の配列
[J long型の配列
[F float型の配列
[D double型の配列

CPU使用率プロファイリング

CPU TIME (ms) BEGIN から CPU TIME (ms) END の部分が、CPU使用率の情報で、使用率順に出力される。各カラム内容は以下の通り。
タイトル 意味
rank CPU時間の順位
self CPU時間のパーセンテージ
accum CPU使用時間の累積パーセンテージ(上位rankのselfとの和)
count ヒットしたサンプリング数(samples指定)/メソッドのコール回数(times指定)
trace 対応するトレース番号
method メソッド名

 オプション

オプション名前と値 オプションの説明 デフォルト
heap=dump|sites|all ヒープのプロファイリング all
cpu=samples|times|old CPU 使用率のプロファイル off
monitor=y|n モニターの競合 n
format=a|b ASCII またはバイナリ形式 a
file=name データをファイルに書き出す java.hprof[.txt]
net=host:port データをソケット経由で送信 ファイルに書き出す
depth=size スタックトレースの深さ 4
cutoff=value 出力のカットオフポイント 0.0001
lineno=y|n トレースに行番号を出力するか y
thread=y|n トレースにスレッドを出力するか n
doe=y|n 終了時にダンプするか y
gc_okay=y|n GC okay during sampling y

ヒーププロファイリングのオプション値

引数 動作
sites 使用メモリの統計情報を出力
dump ヒープのダンプを出力
all sitesとdumpの両方を出力

CPU使用率プロファイルのオプション値

引数 動作
samples 定期的にサンプリングし、アクティブなスレッド(メソッド)をカウントする
times メソッドのIN/OUTを監視し、メソッドのコール回数をカウントする
old timesと同様。出力形式が、旧hprofフォーマットとなる


[カテゴリ: プログラミング言語 > Java]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2010年11月15日 21時52分34秒