2

我想监控内存 (RAM) 和物理磁盘的性能,我必须监控 Perfmon 中的所有计数器是什么?

4

2 回答 2

2

Windows 机器的性能信息存储在注册表的特定部分。您使用注册表 API 来枚举计数器并获取它们的名称和值。

这里有一个教程:http ://www.tenouk.com/ModuleP1.html

于 2010-03-04T02:43:52.193 回答
0

您没有说明您使用的是托管代码还是非托管代码。如果是后者,您可以使用PerformanceCounter对象并像这样初始化它。

Process currentProcess = System.Diagnostics.Process.GetCurrentProcess();
PerformanceCounter pc = new PerformanceCounter();
pc.CategoryName = "Process";
pc.CounterName = "Working Set - Private";
pc.InstanceName = currentProcess.ProcessName;
var myProcessMemoryUsage = (long)pc.NextValue();

例如,上面的代码检索当前进程的私有工作集性能计数器信息。

PerformanceCounter pcRam = new PerformanceCounter();
pcRam.CategoryName = "Memory";
pcRam.CounterName = "Available MBytes";
int mem = (int)pcRam.NextValue();

此计数器将显示机器上可用的 RAM 量(以兆字节为单位)。

您可以查看性能监视器本身中的所有性能计数器。您应该能够同时看到类别和计数器名称。

于 2010-08-09T02:57:39.373 回答