問題タブ [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.

0 投票する
1 に答える
205 参照

android - Android: メモリ アナライザー ツール: オブジェクトが割り当てられている場所を特定する

一部の Android デバイス (Nexus 5、5.1.1) でメモリ リークのように見えるものがあります。

いくつかのメモリ ダンプを取得し、Eclipse メモリ アナライザー ツールで実行しましたが、クリアされていないバイト配列の数が増えているようです。

ここに画像の説明を入力

右側のタブはアプリの開始時の状態を示し、左側のタブは 20 回ほどアプリがループした後の状態を示しています。(ループを実行したままにしておくと、アプリは最終的に oom を引き起こします)

ツールを使用して、これらのバイト配列が割り当てられている場所を追跡するにはどうすればよいですか?

0 投票する
2 に答える
1851 参照

java - 切り捨てられた Java ヒープ ダンプ (hprof ファイル) を分析する方法はありますか?

私の仕事では、再現が難しい OOM の問題が発生しています。または、より正確には、あるシステムで再現するのは非常に簡単で、そのシステムは使用できなくなりますが、同じ入力が与えられた場合、他の場所で再現するのは困難です。

アプリケーションは、サービス ラッパーを使用してサービスとして実行されています。OOM でヒープ ダンプ ファイルを出力するオプションを使用して起動するように構成を変更することができましたが、残念ながら、ファイルを書き込んだときにサービス ラッパーがタイムアウトし、プロセスが強制終了されたため、ファイルが切り捨てられました。これは、最大メモリが 1GB に設定されており、hprof ファイルが 700MB と小さいため、OOM のヒープ全体には小さすぎるため、すぐにわかります。

Java プロセスがヒープを書き出すためにより長い時間を与えるようにラッパーを追加で構成するには、多くの手間がかかりますが、次の 2 つのオプションを使用してこれを追求しています。

問題は、私が持っている切り捨てられた hprof ファイルでできることは何かありますか? Eclipse MAT がそれらを窒息させます。Jhat はそれらをロードしているように見えますが、サイズ 0 の Java.Object の 3 つのインスタンスしか表示されず、他には何も表示されません。YourKit を試してみましたが、oids ファイルを書き込めませんでした。

これらのファイルには、有用でアクセス可能な情報が含まれている必要があるように思えます。そこにあるものを読み取ることができるツールはありますか?

お時間をいただきありがとうございます!

0 投票する
2 に答える
94 参照

java - メモリ アナライザー ツールを使用して、重複したライブラリとバージョンの競合するクラスを見つける方法

IS Memory Analyzer Tool を使用すると、指定した入力アプリケーションに存在する重複したライブラリ、クラス、およびバージョン競合するクラスを見つけることができます

0 投票する
0 に答える
416 参照

java - ヒープ ダンプの合計保持ヒープ < JVM 最大メモリ、それでも OutOfMemoryException ですか?

最近、JVM で OutOfMemoryExceptions が発生するようになりました。MAT を使用してヒープ ダンプの分析を開始し、メモリの大部分を消費しているスレッドを特定できるかどうかを確認することにしました。

興味深いことに、システム内のすべてのスレッドを調べたところ、すべてのスレッドの保持ヒープの合計が約 4.8G であることがわかりました。ただし、JVM の最大ヒープ サイズは 10G に設定されています。ヒープ ダンプが 10G ファイルであることを関連付けることができます。

そんなことがあるものか?OOM を生成するには、保持するサイズの合計が 10G の制限に近づく必要があるのではないでしょうか? ここで何か誤解していますか?

[概要] タブによると:

正確なエラー メッセージは次のとおりです。

ヒープ ダンプを見ると、コピーしようとしている配列 (char[]) がかなり大きい (1G) ことがわかります。JVM は、実行しようとするときにスペース全体を事前に割り当てますか、copyOfそれとも要素ごとに割り当てますか?

メソッドに渡されるパラメーターを調べようとしていますがcopyOf()、MAT でそれらを表示するかどうか/どのように表示するかはわかりません。MAT で呼び出されているメソッドのパラメーターをスレッド ビューなどで確認する方法はありますか?

0 投票する
0 に答える
168 参照

java - Eclipse Memory Analyzer でオブジェクトが多すぎる OOM を調査するにはどうすればよいですか?

アプリケーション (実際には HiveServer2) で、OOM エラーが発生し、ヒープ ダンプを取得しました。

Eclipse Memory Analyzer (EMA) をLinkedHashMap$Entry使用すると、多くのコンポーネントがヒープ メモリ (16GB) のほぼすべてを消費していることがわかりました。

調査を妨げているのは、ヒープ ダンプ自体が約 16 GB であるため、EMA の一部の操作が私のラップトップでは機能しないことです。とにかく、Eclipse Memory Analyzerでそれを知る方法を知っている人はいますか?

ここに画像の説明を入力

0 投票する
7 に答える
16952 参照

java - Mac OS で Eclipse メモリ アナライザーを実行するには?

ラップトップで Eclipse メモリ アナライザーを実行する際に問題が発生します。

これは、アプリケーションを(場所から)ダウンロードして実行したときに発生します:

ここに画像の説明を入力

ここに画像の説明を入力

そして、私は問題の原因が何であるかを理解できません。誰かが私を助けることができますか?