サービスのメモリリークの問題を確認したい。次の一連のperfmonカウンターを試しました。
上記のセットを here から参照しました
以下のセットも参照:
上記のセットを here から参照しました
メモリリークのperfmonカウンタを識別するためのパラメータ/基準、または他の最良の方法はありますか?
メモリリークをチェックするための一連のカウンタを提案できますか?または上記のセットはメモリリークをカバーしますか?
パフォーマンスモニターを使用してメモリリークを検出するには、次のカウンターを監視します。
私の経験では、これは正確です。
また、Microsoftの従業員であるTessによるこのMicrosoft Advanced Debuggingブログも参照してください。誰が次のカウンターを提案します。上記は、メモリリークが存在することを示すのに十分であることがわかりましたが、テスの指示がこの問題についてより詳細な洞察を提供できると信じています。
RedGate ANTS Memory Profiler や JetBrains dotMemory Profiler など、メモリリークテストを簡単にするための優れたツールがあります。
ただし、パフォーマンスカウンターを使用する場合は、パフォーマンスカウンターを使用してメモリリークをテストする方法を この記事 で説明します。
ガベージコレクションは、インスタンスが破棄された直後にメモリを解放しないことに注意してください。メモリストレスがある場合にのみメモリをトリガーおよびリリースするように最適化されています。そのため、メモリリークをテストする場合は、カウンター読み取りを行う前にガベージコレクションを手動で実行する必要があります。
GC.Collect();
GC.WaitForPendingFinalizers();