C# アプリケーション (Windows XP) がいつメモリ不足になるかについて、信頼できる情報を取得しようとしています。私は自分のマシンでいくつかの調査とテストを行い、最も信頼できるperfmonカウンターを選択しました。
Memory.Pages Output/sec
Memory.Available Bytes
私はしきい値と AND 演算子を使用しており、非常にうまく機能しますが、クライアント マシン (Windows XP も) では両方のカウンターが役に立ちません。使用可能なメモリは 1GB を下回らず、ページ出力は常にゼロです。いくつかのログを読んだ後、まだ有用なカウンターが表示されません。
コミットされたメモリなどのカウンターは正しい値を示しますが、使用可能な 5GB の 50% から 60% を超えると、プログラムはメモリを使い果たします (ページングによりパフォーマンスが低下します)。
代替案はありますか?計算中にメモリを割り当てて OutOfMemory 例外をキャッチすることを強制されたくありません。