問題タブ [eclipse-memory-analyzer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 切り捨てられた Java ヒープ ダンプ (hprof ファイル) を分析する方法はありますか?
私の仕事では、再現が難しい OOM の問題が発生しています。または、より正確には、あるシステムで再現するのは非常に簡単で、そのシステムは使用できなくなりますが、同じ入力が与えられた場合、他の場所で再現するのは困難です。
アプリケーションは、サービス ラッパーを使用してサービスとして実行されています。OOM でヒープ ダンプ ファイルを出力するオプションを使用して起動するように構成を変更することができましたが、残念ながら、ファイルを書き込んだときにサービス ラッパーがタイムアウトし、プロセスが強制終了されたため、ファイルが切り捨てられました。これは、最大メモリが 1GB に設定されており、hprof ファイルが 700MB と小さいため、OOM のヒープ全体には小さすぎるため、すぐにわかります。
Java プロセスがヒープを書き出すためにより長い時間を与えるようにラッパーを追加で構成するには、多くの手間がかかりますが、次の 2 つのオプションを使用してこれを追求しています。
問題は、私が持っている切り捨てられた hprof ファイルでできることは何かありますか? Eclipse MAT がそれらを窒息させます。Jhat はそれらをロードしているように見えますが、サイズ 0 の Java.Object の 3 つのインスタンスしか表示されず、他には何も表示されません。YourKit を試してみましたが、oids ファイルを書き込めませんでした。
これらのファイルには、有用でアクセス可能な情報が含まれている必要があるように思えます。そこにあるものを読み取ることができるツールはありますか?
お時間をいただきありがとうございます!
java - メモリ アナライザー ツールを使用して、重複したライブラリとバージョンの競合するクラスを見つける方法
IS Memory Analyzer Tool を使用すると、指定した入力アプリケーションに存在する重複したライブラリ、クラス、およびバージョン競合するクラスを見つけることができます
java - ヒープ ダンプの合計保持ヒープ < JVM 最大メモリ、それでも OutOfMemoryException ですか?
最近、JVM で OutOfMemoryExceptions が発生するようになりました。MAT を使用してヒープ ダンプの分析を開始し、メモリの大部分を消費しているスレッドを特定できるかどうかを確認することにしました。
興味深いことに、システム内のすべてのスレッドを調べたところ、すべてのスレッドの保持ヒープの合計が約 4.8G であることがわかりました。ただし、JVM の最大ヒープ サイズは 10G に設定されています。ヒープ ダンプが 10G ファイルであることを関連付けることができます。
そんなことがあるものか?OOM を生成するには、保持するサイズの合計が 10G の制限に近づく必要があるのではないでしょうか? ここで何か誤解していますか?
[概要] タブによると:
正確なエラー メッセージは次のとおりです。
ヒープ ダンプを見ると、コピーしようとしている配列 (char[]) がかなり大きい (1G) ことがわかります。JVM は、実行しようとするときにスペース全体を事前に割り当てますか、copyOf
それとも要素ごとに割り当てますか?
メソッドに渡されるパラメーターを調べようとしていますがcopyOf()
、MAT でそれらを表示するかどうか/どのように表示するかはわかりません。MAT で呼び出されているメソッドのパラメーターをスレッド ビューなどで確認する方法はありますか?
java - Mac OS で Eclipse メモリ アナライザーを実行するには?
ラップトップで Eclipse メモリ アナライザーを実行する際に問題が発生します。
これは、アプリケーションを(場所から)ダウンロードして実行したときに発生します:
そして、私は問題の原因が何であるかを理解できません。誰かが私を助けることができますか?