0

膨大なワークロードの下で数時間実行した後、Windows サービスで「メモリ不足」の例外が発生します。次のパフォーマンス カウンターを使用して、メモリ リークを検出しました。

  • すべてのヒープのバイト数

  • プライベート バイト
  • 仮想バイト

最初の 2 つのカウンターは定期的に上下しています。しかし、3番目のものは時間とともに非常にゆっくりと成長しており、カウンターも上下していますが、最終的には時間とともに増加しています. どういう意味ですか?

私の Win サービスは .NET で、C++ DLL からいくつかの関数を呼び出しており、アンマネージ コードを含むサード パーティも使用しています。

これはマネージ コード/アンマネージ コードでのメモリ リークを示していますか? または単にこれは役に立ちませんか?

ありがとう

4

1 に答える 1

1

使用状況を監視できるように、clrプロファイラーを確認してください。ハッジ荷重の下でのみクラッシュする場合は、荷重を処理するための新しい設計制約ほどエラーが発生しない可能性があります。

于 2010-02-02T14:39:02.403 に答える