問題タブ [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 に答える
668 参照

java - アプリがデバイスで 250 MB のメモリを使用しています。ヒープダンプを実行して分析すると。それは約7mbのヒープサイズを言います

ヒープダンプに表示されない使用中の別のメモリはありますか? Eclipse で Memory Analyzer を使用しています。最初に、DDMS とメモリ アナライザーのピックを使用してヒープをダンプします。ヒープのサイズが 7mb であることを示しているだけで、ヒストグラムは基本的にすべてが正常であることを示しています。ただし、デバイスにいくつかのメモリ監視アプリをダウンロードしましたが、それらはすべて、アプリが 250 MB を使用していて、上昇し続けていると言っています。

なぜそれほど多くのメモリを消費するのかを調べるには、他にどのようにすればよいでしょうか?

ここに画像の説明を入力

ここに画像の説明を入力

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

android - メモリ ダンプから取得したビットマップを表示する方法は?

バックグラウンド

通常、Android アプリのヒープ メモリは少量です。そのため、常に大きなオブジェクトを保持しないようにする必要があります。

私が取り組んでいるアプリは、場合によっては OOM になる可能性があるため、メモリが少なくなる原因を確認する必要があると考えました。

私はMAT プラグインを使用しましたが、アプリにはそれぞれ 3.5MB を必要とする 3 つのビットマップがあることがわかりました。

問題

アプリには既に複数のビットマップが使用されていますが、それらはかなり小さいです (それぞれ 1MB 未満)。

実際、作成する各ビットマップがメモリをあまり消費しないようにブレークポイントを設定しましたが、何も見つかりませんでした。

私はまた、この問題に関するいくつかの Google IO ビデオ (このようなもの) を見てきました。どのクラスがオブジェクトへの参照を持っているかを確認するには、オブジェクトをクリックして、「GC ルートへのパス」=>「弱い参照を除外する」を選択するようです。

私が試したこと

ドミネーターツリーで、どのビットマップが最も多く使用されているかを確認できます (「保持ヒープ」を参照)。

データをエクスポートするには、バイト配列を選択してから、「コピー」=>「値をファイルに保存」します。

ただし、他の人がこの投稿で試したように、ビットマップ自体を表示することに固執しています (その形式、幅、高さを知る必要があります)。さらに、このタスクに GIMP を使用するのは非常に煩わしい場合があります。

質問

Eclipse 内でビットマップ (画像自体) を表示するにはどうすればよいですか?

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

java - マットメッセージからの元のメモリリークをマップする

私は MAT を使用でき、浅いヒープと保持されたヒープを持つパッケージ名を示すメッセージを受け取りました。これから、メモリリークの原因となるコード行を特定するにはどうすればよいですか?? どんな体でも、私を助けてください、事前に感謝します。以下は、HPROF ファイルのダンプ メッセージです。 ここに画像の説明を入力

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

android - HttpURLConnection バイトを解放するには?

多くの http リクエスト (HttpURLConnection) を送信するアンドロイ アプリを開発しています。すべてが機能していますが、オブジェクトが解放されていないと思います。MAT (Eclipse Memory Analyzer) を見ると、多くの byte[] が保持されていると表示されるためです。MAT のバイトを調べると、HttpURLConnection メソッドで受け取ったバイトです。以下は、http リクエストを送信するための私のコードです。オブジェクトを解放するために他にできることはありますか?

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

java - ヒープファイルでローカル変数を見つけるにはどうすればよいですか

j2ee アプリケーションがあり、それを visualVM で監視しています。

次のようなメソッドがあるとしましょう。

スレッド タップから、私のスレッドの一部が上記の方法でスタックしていることがわかります。そこで、s と sb の内容を把握するためにヒープ ダンプ ファイルを生成しました。

しかし、どうすればそれを行うことができますか? Eclipse メモリ アナライザーを使用しています。

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

java - Java VisualVM はヒープ ダンプ (.hprof ファイル) の正しいヒープ サイズを提供しますか?

OutOfMemory の問題を分析しています。MAT で開くと 800 MB (.hprof ファイル) のダンプがあり、以下のようにヒープ サイズが 53.2 MB と表示されます

ここに画像の説明を入力

同じダンプを Java VisualVM で開いたところ、約 769 MB のヒープ サイズが表示されます

MAT が到達不能オブジェクトをスキップするため、正確なヒープ サイズが報告されないことを示す1 つの記事を読みました。

ここで、VisulaVM の合計バイト数は何を示していますか: ヒープ サイズまたは (ヒープ + 非ヒープ サイズ) またはその他の何か?

0 投票する
3 に答える
1360 参照

java - Eclipse MAT を使用すると、配列オブジェクトによって作成されたメモリ リークが見つかりません

古い Java アプリケーションで MAT( Analyzing Heap Dump ) を使用して OutOfMemory の問題をデバッグしています。MAT は、RMI スレッドが 15 万以上のインスタンスを持つマイ ビジネス オブジェクト (BO) の配列 (BO[150K+]) を作成し、約 358 MB (Xmx は 512 MB) を消費していることを示しています。メモリリークの状況です。

すべてのダンプ (サーバー クラッシュ後に作成) で気付いたもう 1 つの興味深い部分は、Array オブジェクト内のインスタンスの数が同じです。

この配列オブジェクトが作成されたクラスで、この Array Object を見つける方法を理解できません。MAT で利用可能なそのような直接/間接機能はありますか?

そのようなオプションがvisualVMまたは他のツールで利用できるかどうかを提案してください。または、コードベースで実行できるメモリアナライザー。