我正在使用 .NET 4.5 用 C# 编写一个程序,这将允许我监视特定进程的内存、CPU 和网络使用情况,然后根据我的需要绘制数据图表。
为了获取特定进程的内存使用情况,我正在检查该对象的PrivateMemorySize64
属性Process
。我希望看到该进程使用的私有内存,但它显示的是 Commit 中的数量,正如 Windows 资源监视器所确认的那样。
我的问题是:
1)有人知道为什么会发生这个错误吗?2)有解决办法吗?3)如果没有修复,是否有另一种直接的方法可以获得为进程保留的私有内存?
以下是我的代码的相关部分:
using System;
// I add all the open Processes to an array
Process[] localAll = Process.GetProcesses();
// I then add all the processes to a combobox to select from
// There's a button that updates labels with requested info
Process[] p = Process.GetProcessesByName(comboBox1.SelectedItem.ToString());
label1.Text = p[0].PrivateMemorySize64.ToString() + " bytes";