7

タスク マネージャーは、プロセスが使用しているメモリの量を正確に示していないとよく言われます。

これが事実である場合、これらのことを見つける最も簡単な方法は何ですか?

知りたい:

  • 使用中の合計メモリ (RAM またはページ化など)
  • 使用中の RAM の合計 (マシンに空き物理 RAM が大量にある状況で実行されているため、強制的にページアウトされることが問題にならないことを願っています)
  • プログラムによって実際に使用された合計メモリ (GC が維持する余分なオーバーヘッドはカウントされません)
  • 自分のプログラムだけが使用している合計メモリ使用量 (共有ライブラリ/共有メモリはカウントされません)
  • 共有メモリの合計使用量。
4

7 に答える 7

8

Process Explorerをつかみ、リスト内のプロセスを右クリック -> [プロパティ] をクリックし、[.NET] タブをクリックします。コンボボックスから「.NET CLR メモリ」を選択すると、何をすべきかを知るよりも、プロセスに関するより多くのライブ情報が得られます;)

于 2008-12-10T21:46:45.090 に答える
3

http://memprofiler.com/は、非常に優れた .Net メモリ プロファイラーです。しかし、Microsoft の Windows パフォーマンス モニター (perfmon) への組み込みでも、これらの数値が得られます。これについては、 http://dotnetdebug.ne​​t/2005/06/30/perfmon-your-debugging-buddy/を参照してください。

于 2008-12-10T21:44:04.143 に答える
1

できることはいくつかありますが、アプリケーションのプロファイリングを真剣に考えているのであれば、Red Gate の Ants Profiler を使用するのが最善だと思います。

http://www.red-gate.com/Products/ants_profiler/index.htm

このソフトウェアは非常に包括的であり、アプリがどのような種類のメモリ使用量やその他の種類のメトリックを提示するかをよく把握できます.

于 2008-12-10T21:35:55.937 に答える
1

パフォーマンス モニター (perfmon.exe) を起動し、.Net CLR メモリ パフォーマンス オブジェクトを調べます。実行中のすべての .net プログラムには、独自のインスタンスがあります。そこにあなたのやりたいことがきっと見つかるはずです。

于 2008-12-10T21:47:35.243 に答える
0

プロセスをダブルクリックすると、プロセス エクスプローラーにその一部が表示されます。

于 2008-12-10T21:48:17.893 に答える
0

SysInternals ProcessExplorerには .NET プロファイラーを含む優れた機能がいくつかありますが、プロ ツールが必要な場合は ANTS を使用することをお勧めします。

于 2008-12-10T21:49:10.653 に答える
0

memprofiler も使用していますが、非常に役に立ちました。

于 2008-12-10T21:52:22.597 に答える