我想监控内存(RAM)和物理磁盘的性能,Perfmon中我必须监控的所有计数器是什么?
答案 0 :(得分:2)
Windows计算机的性能信息存储在注册表的特定部分中。您可以使用注册表API枚举计数器并获取其名称和值。
答案 1 :(得分: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量(以兆字节为单位)。
您可以查看性能监视器本身中的所有性能计数器。您应该能够看到类别和计数器名称。