0

我有一个必须在 windows xp 上运行的内存密集型 c# 4.0 图形程序,因此经常出现内存不足。为我的进程估计可用物理内存的最佳方法是什么?当物理内存低于 250 MB 时,我想停止分配缓冲区。

4

1 回答 1

2

您可以使用性能计数器,例如:

private PerformanceCounter memoryCounter =
        new PerformanceCounter("Memory", "Available MBytes");

// ...
float mb = this.memoryCounter.NextValue();
float available = (mb * 1024 * 1024) - Process.GetCurrentProcess().PrivateMemorySize64;
Console.Write("RAM: {0} MB"
  , (1.0 * available / 1024 / 1024).ToString("0.##"));

查看此答案以获取更多信息:https ://stackoverflow.com/a/4680030/284240

于 2012-11-13T21:33:48.770 回答