いくつかのJavaプロセスがあり、OOMエラーが発生したときに作成されたヒープダンプを管理しようとしています。私が管理すると言うとき、私はJavaメモリ不足自動ヒープダンプファイル名
- 名前を意味ヒープダンプ異なり、元のプロセス
- に基づいてヒープが
でOOMにヒープをダンプすると、ディスク領域に-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp
を維持するためにダンプ古い削除
JVMは、指定された/ tmpフォルダ(XXXXはプロセスのPID)にjava_pidXXXX.hprofという名前のファイルを作成します。 ファイル名の作成にPIDとDATEを使用する別の形式を指定する必要はありますか? 1時間のグーグルでmyPrefix_ $、{pid}、 'date'などを試しました。仕事が
- ファイル名を指定していないとあなたがjava_pidXXXX.hprof
- は、例えば、静的なファイル名を指定して取得 2つだけ\ tmp \ OOM.hprof。
の\ tmpフォルダは、それが作成されない、またヒープ・ダンプが作成されますが存在しない場合。使用することができます
1つのアイデアは、OOMエラー
-XX:OnOutOfMemoryError="doSomething.sh %p"
にコマンドを追加することですが、私は「doSomething.sh」
名前に日付が必要なのはなぜですか?古いファイルを削除する場合は、ファイルの変更時刻までに古いファイルを削除することができます。名前に日付は必要ありません。 – RealSkeptic