获得真正的进程RAM使用率

时间:2015-09-08 00:18:40

标签: c# process ram consumption

我一直在研究如何通过id获取进程RAM的使用,但所有结果都导致使用WorkingSet64变量,该变量返回不正确的值。我已经比较了WorkingSet64值和任务管理器中的值,它们不相等。

我想知道如何获得真正正确的进程RAM使用情况,就像Windows'任务经理的一个。

你能救我吗?提前谢谢。

1 个答案:

答案 0 :(得分:3)

在Windows 8.1中,任务管理器中的默认内存列是专用工作集。

请参阅此question以了解如何获取此类值。

总结参考问题的答案:

使用PerformanceCounter课程获取"工作集 - 私人"来自"流程"类别。

示例:

127.0.0.1

其中prcName是进程的名称。例如,要获取当前进程的名称,请使用以下命令:

var counter = new PerformanceCounter("Process", "Working Set - Private", prcName);

如果要获取给定其ID的进程的名称,请使用以下命令:

string prcName = Process.GetCurrentProcess().ProcessName;