Windows タスク マネージャーに表示されるような「空き」物理メモリを取得できません。どこを検索しても、最終的に「利用可能な」物理メモリが表示されますが、それは私の意図ではありません。
「空き」物理メモリを取得する方法を知っている人はいますか?
おそらくGlobalMemoryStatusEx関数が必要です。C#からの使用例については、http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/01371e94-0ef4-43a8-9fcb-f3ec40e8675e/を参照してください。
http://www.pinvoke.net/default.aspx/kernel32.globalmemorystatusexが役立つ場合もあります。
使用可能なメモリではなく、空きメモリが必要であることを完全に見落としていたため、私の答えは間違っています。申し訳ありません。ただし、キャッシュに使用されるメモリが削減されるため、その数は何の意味もありません。Windows Vista、7 メモリ マネージャーのしくみを参照してください。
http://www.codinghorror.com/blog/2006/09/why-does-vista-use-all-my-memory.html
GetPerformanceInfo Windows API を使用できます。Windows 7 の Windows タスク マネージャーとまったく同じ値が表示されます。同様の質問に対する私の SO の回答を参照してください。
または、空きメモリと CPU 使用率を表示する小さなソフトウェアであるTop Processのソースをダウンロードします。これはオープン ソースであり、完全に無料であり、私が書いたと言うべきです :)