如何获取 C# 应用程序使用的总内存?我尝试过:GC.GetTotalMemory() Process.GetCurrentProcess().PrivateMemorySize、PrivateMemorySize64、VirtualMemorySize、VMS64、PagedMS。
他们确实报告了各种值,这没关系。但这些值与我在任务管理器中看到的不同。
我使用的是 Windows 8,任务管理器在右侧分别显示所有应用程序使用的资源,除了应用程序名称。我的应用程序的当前内存也会显示。假设它是 18.9 MB,如果我强制使用 GC.Collect(),则下降到大约 9 MB。
现在,在 GC.Collect(): PrivateMemorySize 和 PMS64 之前都报告〜42(转换为 MB 后)和 GetTotalMemory() 给出〜3 PagedMS 和 PagedMS64 给出〜379
在 GC.Collect(): PrivateMemorySize & PMS64 之后都报告 ~39(转换为 MB 后)和 GetTotalMemory() 给出 ~1 PagedMS & PagedMS64 给出 ~367
但这些与任务管理器的显示不同。我想要的是'18.9'和'9',即。Windows 8 任务管理器报告的我的应用程序的内存使用情况。我如何通过后面的代码做到这一点?我使用.Net 4.0,Visual Studio 2012