Palai

Palai

程序员 | 开源爱好者 | 喜欢交友

堆内存溢出-インターンシップメモ

背景:調査プラットフォーム 内部で資料や文献などを検索するためのもの#

本番環境でエラーが発生し、oom-Java heap space と表示されました。まず、大きなオブジェクトや再帰的なコードの作成があるかどうかを確認し、必要に応じてメモリを拡張しました。任意の PDF を開くと失敗しましたが、メモリが解放されていない可能性があります(PDF を読むツールにバグがあると疑っています)。プログラムの実行時のメモリの変化を確認するために jconsole を使用しましたが、メモリは一貫して増加していました。ローカルでヒープダンプを分析しました(XX:+HeapDumpOnOutOfMemoryError ヒープメモリの不足時にスナップショットを保存するためのオプション、後にパスを追加できます)。初期の分析では、連続してフォントオブジェクトを生成するインターフェースを呼び出していることがわかりました。つまり、フォントオブジェクトが連続して作成されています。
原因がわかれば解決策も見つかります。オブジェクトを連続して作成しているコードのインターフェースを見つけ、静的変数に変更する必要があります。静的関数内で毎回新しいオブジェクトを作成するのではなく。

注:初めて本番環境でヒープメモリの不足に遭遇し、かなり興奮しました。(ただし、編集のフォーマットは非常に悪いですので、この点を練習する必要があります)

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。