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