我正在尝试获取某些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位测试中获得正确的结果。