同僚と私はアプリケーションのメモリの問題を追跡しようとしています。私の調査では、各スレッドがデフォルトで 1MB のスタックを取得する方法について説明しているブログ エントリを見つけました。私たちのアプリケーションはたまたま多くのスレッドを作成するため、何が起こっているのかを正確に理解するために簡単なテスト プログラムを作成しました。テスト アプリ (C#) は 300 のスレッドを作成しますが、タスク マネージャーには 22 MB のメモリしか表示されませんでした。タスク マネージャーでスタック メモリがカウントされていませんか、それとも何か他のことが起こっていますか?
質問する
237 次
1 に答える
1
タスク マネージャーは、メモリ消費量を判断するための最適なツールではありません。代わりに、 MemProfilerやRedGate の Memory Profilerなどのツールの無料試用版をダウンロードしてください。
タスク マネージャーのメモリ使用量列を診断やプロファイリングに使用しないでください。Perfmon カウンター、特にプライベート バイトと、メモリ リークなどの問題を明らかにする特定の .NET カウンターを使用します。
興味があるかもしれません: .NET アプリケーションのメモリ使用量の監査
于 2009-08-05T13:49:56.463 に答える