0
我有一個內存密集的C#4.0圖形程序,必須在Windows XP上運行,因此經常會出現內存不足的情況。爲我的過程估算可用物理內存的最佳方式是什麼?當物理內存降到250 MB以下時,我想停止分配緩衝區。需要看看有多少物理內存可用於當前進程
我有一個內存密集的C#4.0圖形程序,必須在Windows XP上運行,因此經常會出現內存不足的情況。爲我的過程估算可用物理內存的最佳方式是什麼?當物理內存降到250 MB以下時,我想停止分配緩衝區。需要看看有多少物理內存可用於當前進程
您可以使用性能比較計數器,例如:
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
也可能與:[C#內存使用率(HTTP:// stackoverflow.com/questions/3803003/c-sharp-memory-usage) –
考慮如果您的操作系統已將自己設置爲100 MB可用內存的目標,會發生什麼情況。你會一直放棄你的緩存。我發現在您的應用程序上配置自我強制的內存使用限制更有用。 – 2012-11-13 22:09:06