我想监视内存(RAM)和物理磁盘的性能,我必须监视Perfmon中的所有计数器是什么?
Windows机器的性能信息存储在注册表的特定部分。 您可以使用注册表API来枚举计数器并获取其名称和值。
Theres教程在这里: http : //www.tenouk.com/moduleeP1.html
您没有说明您是使用托管代码还是非托管代码。 如果是后者,可以使用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数量。
您可以查看性能监视器本身中的所有性能计数器。 您应该能够看到类别和计数器名称。