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

c# - Nullable の扱い方ストアド プロシージャから返される型?

Nullable<T>Linq2Sql を使用してストアド プロシージャから返されたフィールドを処理するためのベスト プラクティス (メモリと CPU 時間を考慮) に関する提案を探しています。

次のシナリオと制限を考慮してください。

  1. コードのどこでも fieldValue.HasValue チェックを使用しないようにしたい。Nullable<T>したがって、すべてを通常のプロパティ (特に DateTime、Double、Int)に置き換える必要があります。
  2. Nullable 型の ~20 フィールドを持つ ~100 万オブジェクトを読み取ることを期待しています。
  3. メモリと CPU の使用率は重要な考慮事項です。
  4. 要件は、(DataRow ではなく) オブジェクトのストアド プロシージャから結果を取得することであり、したがって Linq2Sql を使用します。

同様の状況に対処することについて、あなたの意見や経験を共有してください。

ご関心をお寄せいただきありがとうございます。

0 投票する
4 に答える
2882 参照

c# - C# メモリ不足の例外 - 警告戦略

複雑なマルチスレッド アプリケーションの内部で、おそらく週に 1 回、メモリ不足の例外が発生しています。アプリケーションは、ネットワーク カードのバッファ オーバーランを回避するために、読み取ったデータがキャッシュされる複数のソケットを介して大量のデータを送信または読み取ります。
メモリ例外を分析するための最良の戦略は何ですか? 通常の実行時、アプリは Process Explorer で最大 1.5 ギガバイトの「すべてのヒープの合計バイト数」のサイズで表示されます。
どちらかをポーリングしているスレッドを持つことは戦略でしょうか

GC.GetTotalMemory()

また

PrivateMemorySize64()

物事の分析を開始するタイミングを知るために 1 秒に 1 回?私はまだ商用プロファイラーを調べていませんが、実際の問題分析に関して間違った結果をもたらす可能性があるそれらのパフォーマンスへの影響について少し心配しています.

0 投票する
4 に答える
956 参照

c# - .NET でメモリ リークが発生する可能性はありますか? はいの場合、最適なツールは何ですか?

私は C# 4.0 マネージ コード アプリケーションに取り組んでいます。CLS に準拠していない外部 DLL を使用しています。

DLL のメモリ リークをチェックするには、メモリ リーク検出ツールが必要ですか? はいの場合、最高のツールは何ですか?

0 投票する
4 に答える
58187 参照

.net - How do I use a dump file to diagnose a memory leak?

I have a .NET service with a normal private working set of about 80 MB. During a recent load test, the process reached 3.5 GB memory usage causing the whole machine to be low on physical memory (3.9 of 4 GB used), and the memory was not released long after the load test was stopped. Using task manager, I took a dump file of the process and opened it in Visual Studio 2010 SP1, and I am able to start debugging on it.

How do I diagnose the memory issue? I have dotTrace Memory 3.x at my disposal, does it support memory profiling on dump files? If not, will the memory profiling features of Visual Studio 2010 Premium help (I currently have Professional)? Can WinDbg help?

UPDATE: The new Visual Studio 2013 Ultimate can now natively diagnose memory issues using dump files. See this blog post for more details.

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

virtual - ページ フォールトおよび LLC ミス イベントを生成するテスト スイート

仮想マシンのメモリ アクセスを、生成された 1 秒あたりのページ フォールト数と、1 秒あたりに発生した最終レベルのキャッシュ ミス数の観点からプロファイリングする必要があります。これを達成するのに役立つ標準的なテスト スイートはありますか?

以下に、達成する必要がある正確なシナリオについて説明します。

  1. 仮想マシンでプログラム/テスト スイートを実行して、膨大な数のページ フォールトを生成します。
  2. 仮想マシンでプログラム/テスト スイートを実行して、多数の最終レベル キャッシュ ミスを生成します。
  3. 仮想マシンの 1 秒あたりのページ フォールト数と 1 秒あたりの最終レベル キャッシュ ミスの数を監視します。
  4. ベア メタル マシンをホストしているページ フォールトと最終レベルのキャッシュ ミスの対応する数を監視します。

これを超えて、生成する必要がある一連の分析結果があります。

クエリ 1: 目的を達成するのに役立つ標準テスト スイートはありますか? もしよろしければ参考になさってください。SPEC ベンチマークを参照しましたが、自分の作業に役立つものは何も見つかりませんでした。

クエリ 2: そのようなスイートがない場合、上記のシナリオをエミュレートするプログラムを作成する方法はありますか?

どちらの方向へのポインタも高く評価されます。

ありがとう!

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

c# - .Net メモリ プロファイラと固定された

Scitech の .Net Memory Profiler を使用して、アプリ (WinXP 64 で実行) の一部をチェックしています。アプリが使用するリストのライブ インスタンスが 1 つだけあり、常に 32 バイトで、配列として表示されるケースをよく見かけます (Product[] など)。

インスタンスをよく見ると、何からも参照されていないように見えます。[ルート パスに含まれるインスタンスのみを表示] チェックボックスをオンのままにすると、参照先リストが空になります。そのチェックボックスをオフにすると、次のみが表示されます。

割り当てコール スタックは次のようになります。

空のリストの構築で終わったようです。ルート パスにインスタンスが含まれておらず、すべてピン留めされているとはどういう意味ですか?

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

python - pymplerを使用してtornado-redisのメモリリークを追跡/修正するにはどうすればよいですか?

redisのpubsubを使用してイベントを配信するために、 tornado-redis(基本的にはadispではなくtornado.genインターフェイスで動作するようにわずかに変更されたbrükvaのフォーク)を使用しようとしています。

そこで、この例に触発されてテストするための小さなスクリプトを書き留めました。

残念ながら、私PUBLISHredis-cliメモリ使用量を調べている間、増加し続けました。

メモリ使用量をプロファイリングするために、私は最初にguppy -peを使用しようとしましたが、python 2.7では機能しませんでした(はい、トランクを試しても)ので、pymplerにフォールバックしました。

これで、編集するたびにPUBLISH、一部のオブジェクトがリリースされなかったことがわかりました。

実際にメモリリークがあることがわかったので、これらのオブジェクトが作成された場所を追跡するにはどうすればよいですか?私はここから始めるべきだと思いますか?

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

java - Java でのメモリ統計の取得: ランタイムと MemoryMXBean の比較

JVM のメモリ使用量を読み取るスケジュールされたエグゼキュータを作成しています。実行中の JVM でメモリ統計を取得する 2 つの方法 (Runtime と MemoryMXBean) に遭遇しました。これらのメソッド間の対応は次のとおりです。

MemoryMXBean によって提供される追加のヒープ以外のメモリ使用量に関する情報を除いて、ランタイムよりもヒープを優先する必要がある理由、またはその逆の理由はありますか?

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

visual-studio - WindowsPhoneプロファイリング-ログの解析に失敗しました

私はWindowsPhoneアプリケーションのメモリプロファイリングの初心者です。メモリプロファイリングセッションを停止した後、Visual Studioはログの解析を試み、「ログファイルの解析に失敗しました」というメッセージで失敗します。%temp%ディレクトリの「ProfilerLog_」ファイルが表示され、次のメッセージが表示されます。

誰かがこの問題に直面し、いくつかの解決策を見つけた可能性がありますか?

ありがとう。