如何从C#中的32位进程获取64位进程的内存使用情况。 PerformanceCounter产生错误的结果

时间:2019-06-24 10:06:41

标签: c# performance performancecounter

我正在尝试获取某些64位进程的内存使用情况。 我的代码正在测试中,必须为32位(编码的UI测试,不支持64位)。 这是代码:

PerformanceCounter privateBytesCounter = new PerformanceCounter("Process", "Private Bytes", proc.ProcessName);
var prvBytesSample = privateBytesCounter.NextSample();

结果为4294967295-这是Max(int32)-1-约为4GB,而进程实际上占用了11.5 GB。 当我将此代码放到某些以64位编译的控制台应用程序中时,它会给出正确的结果。

请告知我如何从32位测试中获得正确的结果。

0 个答案:

没有答案