RAMに大量のデータを割り当てるプログラムを作成しています。これで、RAM のスペースがなくなると、プログラムは仮想メモリに配置され、ページング スワップが発生します。これは非常に遅いです。RAMの残り容量を確認することはできますか? また、システムが現在仮想メモリを使用しているかどうかを確認することは可能ですか?
これは Windows 上の C++ にあります。
GlobalMemoryStatusEx関数を使用して、RAM の空き容量を取得できます。RAM が不足しているときに通知を受け取るには、QueryMemoryResourceNotificationメソッドを使用できます。
無料のRAMの量があるだけでは、Windowsがプログラムをページングしないという意味ではありません。GetCurrentProcessのSetProcessWorkingSetSizeAPIを試すことはできますが、保証は提供されません。代わりに、保証するVirtualLockを使用できますが、パフォーマンスが低下する可能性があります。