0

C# アプリケーション (Windows XP) がいつメモリ不足になるかについて、信頼できる情報を取得しようとしています。私は自分のマシンでいくつかの調査とテストを行い、最も信頼できるperfmonカウンターを選択しました。

Memory.Pages Output/sec
Memory.Available Bytes

私はしきい値と AND 演算子を使用しており、非常にうまく機能しますが、クライアント マシン (Windows XP も) では両方のカウンターが役に立ちません。使用可能なメモリは 1GB を下回らず、ページ出力は常にゼロです。いくつかのログを読んだ後、まだ有用なカウンターが表示されません。
コミットされたメモリなどのカウンターは正しい値を示しますが、使用可能な 5GB の 50% から 60% を超えると、プログラムはメモリを使い果たします (ページングによりパフォーマンスが低下します)。

代替案はありますか?計算中にメモリを割り当てて OutOfMemory 例外をキャッチすることを強制されたくありません。

4

1 に答える 1

0

Windows プロセスがメモリ不足になるのはいつですか? を参照してください。

簡単に言うと、プロセスのプライベート バイト、仮想バイト、および/またはワーキング セットをチェックする必要があります。

于 2009-01-04T20:42:36.237 に答える