LastUpdate: 2011/10/21 03:25:23
ここから入手
http://sourceforge.net/projects/eclipsecolorer/
ru.nlmk.eclipse.plugins.profiler_0.5.33.zip というファイルを取得した。
任意のフォルダで展開する
ru.nlmk.eclipse.plugins.profiler フォルダ を
C:\pleiades-e3.5\eclipse\plugins 配下に配置
さらに、Windowsの場合は、ru.nlmk.eclipse.plugins.profiler 配下にある ProfilerDLL.dll を JREのbinフォルダにコピーする。(→ C:\pleiades-e3.5\eclipse\jre\bin)
Eclipseを再起動
ウィンドウ→設定 でProfiler が見えれば、インストールは完了している
その後、テストしてみたけど、Eclipse3.5では使用できないらしい。
http://itpro.nikkeibp.co.jp/article/COLUMN/20061102/252525/
jdk標準の プロファイラ hprof
Java 2 SE 5.0からは「-agentlib:hprof」という起動オプションでhprofを起動可能。
ヘルプの表示は
java -agentlib:hprof=help
サンプルソース
import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args) { Main me = new Main(); me.go(); System.out.println("end"); } private void go() { Map<String, String> map = new HashMap<String, String>(); for (int i=1;i<1000;i++){ map.put("abc","abc"); } } }
java -agentlib:hprof Main end Dumping Java heap ... allocation sites ... done.
プロファイル結果として
java.hprof.txt ファイルが出力されるが、みにくい。
java -agentlib:hprof=depth=50 Main
depthオプションをつけると、呼び出し階層が多く見れるようになるようだ。
jdk1.6には、少しだけ見やすくしてくれる、ツールがふくまれているそうな。→jhat
jhatはバイナリ形式のファイルを読むので、jprofの出力フォーマットをバイナリに変更して実行する
java -agentlib:hprof=format=b Main
出力された java.hprof を jhatに読ませます
jhat java.hprof
http://localhost:7070 で結果がみれるそうな。
http://www.smg.co.jp/JavaTroubleshooting/column_002Main.html
ここには、ダンプの詳しい見方が書いてあった
メソッドごとの、cpu時間などを計るとき
java -Xrunhprof:cpu=times,file=cpu_times.txt HprofSample2