最近写了看门狗的winform程序,需求要求显示监测的进程所占的内存大小
找了好几个方法,都和任务管理器显示的内存不一致
最后找到了一个解决方法
PerformanceCounter pf1 = new PerformanceCounter("Process", "Working Set - Private", process.ProcessName);//第二个参数就是得到只有工作集
string text = $"该进程所占内存为:{ pf1.NextValue() / 1024}KB";
不过用PerformanceCounter的话会导致程序的CPU占用过高,具体可见下面的参考文章
参考文章:https://q.cnblogs.com/q/74255/
http://www.cnblogs.com/maowang1991/archive/2013/08/27/3285983.html