問題タブ [memory-profiling]

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 投票する
0 に答える
71 参照

ruby - Ruby GC::Profiler の「使用サイズ」が「合計サイズ」より大きい

アプリケーションの一部をスリム化しようとしているので、GC::Profiler を使用して、これまたはそれが実際に何かをスリム化するかどうかを判断していますが、解釈できない結果が得られています。

ドキュメントによると、これは、割り当てられたヒープの 2000% 以上が現在使用されていると言っているようです...? そして、総ヒープサイズが明らかにそうではないことを除いて、メモリ使用量が増加していることを示します...

私の仕事は次のとおりです。大量の受信 HTTP ストリームをファイルに直接読み取り、遅延評価によって一度に 1 行ずつファイルを読み取り、各行で変換を実行し、ファイルに書き出します。

何が起こっているかについてのアイデアはありますか?

編集:Mac上のRuby 2.0

編集 2:ps auxレポート 2936436 VSS および 455836 RSS

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

c# - 参照を保持する TimerCallBack

Blockquote TimeCallBack オブジェクトは CacheExpires オブジェクトを参照し、BASE_RATE_SRCE_CODEInfo[] から GC ルートへのパスの 1 つにあります。

C# アプリケーションをメモリ プロファイラーで分析したところ、生き残ったオブジェクトBASE_RATE_SRCE_CODEInfo[]が TimerCallBack オブジェクトによって参照されていることがわかりました。これらのBASE_RATE_SRCE_CODEInfo[]オブジェクトは GC によって破棄されていないため、メモリ リークの原因となる可能性があります。

BASE_RATE_SRCE_CODEInfo[]では、 GC ルートで TimerCallback へのこれらの参照を削除または破棄するにはどうすればよいでしょうか?

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

java - YourKit でのオブジェクト割り当ての記録中に作成されたクラスのインスタンスの数を確認するにはどうすればよいですか?

私はYourKitプロファイラーを初めて使用し、いくつかの良いレビューを読んだ後、試してみたいと思いました。weblogic アプリケーション サーバーで実行されている webapp をプロファイリングしようとしています。基本的に、記録を開始してからオブジェクト割り当ての記録を停止するまでの間に、特定のクラスのインスタンスがいくつ作成されたかを確認したいと考えています。どうやってやるの?それらのオブジェクト作成メソッドのスタックトレースも知りたいです。これを行うには、割り当ての記録を開始した後にメモリのスナップショットもキャプチャする必要がありますか? はいの場合、なぜですか?

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

java - Java メモリ消費量のクラスごとのプロファイリング

ツリーのような階層で何千ものオブジェクトを初期化する Java プロジェクトがあります。

当初、私はパフォーマンスを念頭に置いてプログラミングしていたので、クラス フィールド (変数) に多くの計算可能なプロパティを格納することを気にしませんでした。
しかし、最近、プロジェクトのメモリ フットプリントを見積もろうとし始めたところ、非常に大きいことがわかりました。大きい。

どのクラスが最も多くのメモリ
を消費しているかを特定しようとしています。その後、どのフィールドが最も消費されているか (おそらく文字列) に絞り込むことができると思います。

instrumentation私はJavaのパッケージに出くわし、getObjectSize

ドキュメントを理解しようとしましたがinstrumentation、自分の仕事に適しているかどうかわかりません。サイズが再帰的に見つからない
ことにも気付きました。getObjectSize

Objectの静的マップを拡張して含むクラスを作成し、instance -> instanceSizeすべてのクラスにこのクラスを拡張させ、コンストラクターを更新することを考えていました

私のアプローチは正しいですか?
これを達成するための最も「Java」な方法は何でしょうか?

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

ios - 受信メモリ警告ソース

コンソールに多数のメモリ警告が表示された後、根本的な原因を理解するためにメモリ プロファイル ツールを使用してみました。しかし、メモリ割り当てに奇妙な動作は見られません。

警告の原因を正確に知る方法はありますか?

編集:

プロファイラーの印刷画面 ご指導ありがとうございます

ここに画像の説明を入力

「全体のバイト数」および「作成済みおよびまだ生きている」でソート

ここに画像の説明を入力

それにいくつかの詳細を追加しました:

ここに画像の説明を入力

コードの詳細:

ここに画像の説明を入力