問題タブ [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 投票する
5 に答える
6631 参照

java - Eclipse メモリ アナライザーは、ヒープ ダンプ全体 (8GB) のごく一部 (363,2MB) を確認します。

java.lang.OutOfMemoryError: GC limit exceededTomcatにデプロイされたWebアプリの高負荷時に何が発生するかを調査しようとしていました. ヒープ サイズは 8 GB に設定されました ( -Xms2048m -Xmx8192m)

ある時点で、GC アクティビティのオーバーヘッドが原因で、アプリケーションが応答しなくなります。フル GC が連続して複数回発生していることをログで確認できました。そこで、次のコマンドでヒープダンプを取得しました(jmap -F -dump:format=b,file=/root/dump2.hprof 4963)。ダンプを含むファイルのサイズは 9GB でした。ダンプが取得された後 (アプリは約 45 分間フリーズされました)、OutOfMemoryErrorスローされるまで複数のフル GC が発生しました。

GC アクティビティのログ サンプルを次に示します。

ヒープ ダンプを分析するために、Eclipse メモリ アナライザー (MAT) で開きました。残念ながら、MAT はヒープ サイズが 363.2MB (概要タブまたはヒープ ダンプの詳細タブ) であると表示しますが、GC ログによると、ヒープは 6467961K (6.4G) までいっぱいでした。Unreachable Objects Histogram は合計 75 511 736 (75 MB) を示します。ヒストグラム ビューでも、浅いヒープの合計が 380 837 136 であることが確認されました (363.2MB)

私の質問は、GC がメモリを再利用できない場合、MAT がヒープ ダンプからすべてのオブジェクトを表示しないのはなぜですか?

以下は、MAT にインポートされたヒープ ダンプのスクリーンショットです。

0 投票する
6 に答える
46841 参照

eclipse-plugin - Eclipse に MAT をインストールする方法

MAT (メモリ アナライザー ツール) を Eclipse にインストールする方法がわかりません。リークしている Android アプリのヒープを分析するには、このプログラムが必要です。

愚かな感じ、申し訳ありません;-(

正確にはどのような手順ですか?

Eclipseでどうすればいいですか? Android SDK マネージャーを選択するか、ヘルプに移動 => 新しいソフトウェアをインストール => フィールドに URL 文字列を入力します ( http://download.eclipse.org/mat/1.1/update-site/ )?

両方を試しました - 今のところ何も機能していないようです。

説明してくれてありがとう:-)

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

android - ViewPager のフラグメントが FragmentActivity によって保持される理由

FragmentActivityの には、Fragment(いくつかのフラグメントを作成します。それらを「ItemFrag」と呼びましょう)をViewPager使用する(HubFragと呼びましょう)があります。FragmentStatePagerAdapter

HubFrag を別の新しいものに置き換えるFragmentと、HubFrag は期待どおりに破棄されますが、ItemFrags オブジェクトの場合はそうではありません。Eclipse マットを使用すると、ItemFrags オブジェクトが私のオブジェクトによって保持されていることがわかりFragmentManagerImplますFragmentActivity...なぜ????

それらをメモリに残しておきたくない理由を説明します。

各 ItemFrag は画像のダウンロードを開始し、私のダウンローダ ( WeakReferenceItemFragを持っています) は、この弱い参照が nullImageViewの場合 (メモリ使用量を減らすため) を処理したくありません。Bitmap

しかし、弱い参照がnullになることはないため、ダウンローダーは常にデコードしBitmapます...ありがとう!

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

java - JVM ヒープ ダンプ分析は、sun.awt.windows.WToolkit を指していますか?

アプリケーションのメモリ リークを分析しています。Eclipse Memory Analyzerを使用して調査した結果、すべての参照を「保持」するルートは `

sun.awt.windows.WToolkit

ここに画像の説明を入力

そして今、この結果を解釈する方法がわかりません。私は、sun.awt.windows.WToolkit がリークを引き起こすべきではないと考えました。多分誰かがこの結果を解釈する方法を提案していますか?

私たちが確認しようとしている考えの 1 つは、 http: //www.jidesoft.com/ を使用している JIDE ライブラリが原因であるということですが、それと関係があるかどうかはわかりません。

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

android - Universal Image Loader でのメモリ リークの問題

MATで解析することで

ここにのスクリーンショットがありますdominator_tree

ここに画像の説明を入力

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

java - java.lang.OutOfMemoryError の根本原因を見つける: Eclipse MAT を使用した Java ヒープ スペース

アプリでどのメソッド/ループがjava.lang.OutOfMemoryError: Java heap spaceを与えたかを調べようとしています。私は、Eclipse Memory Analyzer を使用して Java アプリをプロファイリングすることにかなり慣れていません。

メモリ リークのプロファイリングが Eclipse MAT で行われる場合、

画像では、JNI ローカルの呼び出しが最大保持ヒープを持っていることは明らかですが、アプリには JNI 呼び出しはありません。

メモリ リークの原因がネイティブ コード (JNI ローカル) の呼び出しなのか、文字列の繰り返しなどの使用なのかを確認してください。

参考までに、.hprof ファイルの全体概要とスタックトレースを添付します。

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

android - LinearLayout & Bitmap でメモリ リークが発生したときに Android アプリでメモリ リークを削除する方法

私は Android アプリを開発しています & 私は Dynamic LinearLayouts を使用しています & 実行時にアクティビティ内でそれらを作成しています. データは動的であるため、動的に作成する必要があります。Heap Dump の分析のために Eclipse で MAT ツールを使用しましたが、LinearLayout と Bitmap がトップ コンシューマーであり、以下のスナップショットに示されているスペースを消費していることがわかりました。2 つのリーク容疑者が表示されています & リーク容疑者は LinearLayout & Bitmap のメモリ割り当てにあります。

アプリケーションは 30 ~ 40MB のヒープ サイズを使用することがあります。

どこかをクリックすると、アプリに赤い暗い境界線が表示されることがあります

すべてのメモリ リークを取り除くために何をすべきか理解できません。私のAndroidアプリでメモリリークを取り除くのを手伝ってくれる人はいますか...

以下のスナップショットは、私の問題をよりよく理解するのに役立ちます..

  1. Primary Leak Suspect (Eclipse の MAT Tools による) ここに画像の説明を入力

  2. 第二の漏えい容疑者 ここに画像の説明を入力

  3. メモリの浪費の可能性を示すシステム ローダー

ここに画像の説明を入力

  1. アプリ内の上位メモリ消費者

ここに画像の説明を入力

ビットマップを表示するために使用しているコード

前もって感謝します..