Javaトラブル解決ドリル

http://blogs.sun.com/okazaki/date/20070405

いい資料を見つけた.
まだ,ざっと目を通しただけだが,Javaに纏わる障害解析のヒントが分かりやすくまとめてある.

これまで,障害解析に関してはIBM JDKがいろいろ揃ってると思ってたけど,考えを改めないといけないかも?

このドキュメントでも紹介されている, -XX:+HeapDumpOnOutOfMemoryErrorオプション.
こいつを使うと,OutOfMemoryError発生時にヒープダンプ(.hprofファイル)を生成してくれるので,メモリ・リークの犯人探しに重宝するはずだ.


今までだと,VMの終了時にしかヒープダンプが生成されないので,使い辛かった.
このオプションはJDK1.4.2_12以降,JDK1.5.0_07以降,JDK1.6.0以降でサポートされている.


生成された.hprofファイルはJDK1.6に付属のjhatを使えば解析できる.
ただ,jhatよりもIBM alphaWorksで公開されている,HeapAnalyzerの方が使い勝手が良いと個人的には思う.
最近のHeapAnalyzerはIBM/Sun JDK両方のヒープダンプ形式をサポートしている(はず...).