0

私はただいくつかのフィードバックやチェックすべきことを探しています...本当に決定的な答えではありません。

.NETサービスで発生しているOOMエラーを追跡しています。このサービスは、長期間にわたって約1.3GBをホバリングします。これは非常に大量のメモリであることに気付きましたが、サービスはこのレベルで長期間(最大約1か月間、エラーなしで)完全に正常に実行されます。次に、通常の操作でランダムにクラッシュします。

このサービスのプライベートバイト、すべてのヒープのバイト、ワーキングセット、およびCPU使用率を追跡しています。問題が発生すると、ワーキングセットが約700MBから1.3GBに約30秒で急上昇し、サービスがクラッシュします。これが発生すると、他の(プライベートバイト、すべてのヒープのバイト、およびCPU)の読み取り値がフリーズし、値が更新されるたびに通常はわずかに異なる数値を読み取る場合でも、まったく同じままになります。

これは私にとって一種の奇妙な状況です。私は以前にいくつかのメモリリークを追跡しましたが、これは大きく異なります...誰かアドバイスはありますか?どんな考え、フィードバック、反省も歓迎します。ありがとう。

4

1 に答える 1

1

クラッシュは、クラッシュ ダンプ ファイルを作成する必要があります。それをwindbgとSOSで開くと、例外につながるステップのスタックトレースを取得できるはずです。クラッシュ ダンプが作成されていない場合は、デバッグ診断ツールをインストールして、ダンプを作成することができます。

于 2012-12-12T16:43:48.287 に答える