タグ

ブックマーク / lenemarix2.blog28.fc2.com (2)

  • Javaでヒープダンプの取得/解析メモ その2|ネガティブプログラマ2.0

    Javaでヒープダンプの取得/解析メモ その1の続き、ヒープダンプ解析編です。 残念ながら、解析ツールの方はまだ調べきれておりません。 以下では現在調べた範囲のことを書いています。今後新たに分かったことがあれば追記していく予定です。 ヒープダンプを解析する方法(まだ調査途中)jhatJDK付属のヒープダンプ解析ツールjhatが使えます。 このツールはWebサーバとして動作するので、コンソールに表示されるポート番号にブラウザでアクセスして結果を閲覧します。 jhatの実行ファイルはjdkインストールディレクトリのbinの下にあります。 jhat -J-Xmx700m #ファイル名# 上のコマンドはjhatのヒープサイズを700mに指定して起動する方法です。 ヒープダンプが巨大だと、jhatを動かす際のヒープサイズもかなり必要になってくるので、OutOfMemoryErrorが出る場合は適宜増

  • Javaでヒープダンプの取得/解析メモ その1|ネガティブプログラマ2.0

    その2も書きました。 JavaでOutOfMemoryErrorが発生したときに、ヒープダンプを取得して解析することで、メモリリークの原因を調査することができます。 私の場合、OutOfMemoryErrorを解析する機会はそんなに頻繁にはないのですが、たまに出会したときに「どうやってヒープダンプ取るんだっけ?」、「何のツールでヒープダンプを解析できるんだっけ?」と毎回調べてるので、ちょっとメモっておくことにします。 ヒープダンプを取得する方法(参考: 公式のjhatマニュアル) jmap の -dump オプションを使って実行時にヒープダンプを取得する。jconsole のオプションを使って HotSpotDiagnosticMXBean 経由で実行時にヒープダンプを取得する。-XX:+HeapDumpOnOutOfMemoryError VM オプションを指定すると、OutOfMemo

  • 1