1

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

我想知道如何获得真实和正确的进程 RAM 使用情况,就像 Windows 的任务管理器一样。

你能帮我吗?提前致谢。

4

1 回答 1

3

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

请参阅此问题以了解如何获得此类值。

总结参考问题的答案:

使用PerformanceCounter类从“Process”类别中获取“Working Set - Private”计数器。

例子:

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

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

string prcName = Process.GetCurrentProcess().ProcessName;

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

string prcName = Process.GetProcessById(process_id).ProcessName;
于 2015-09-08T00:25:42.680 回答