我想监控内存 (RAM) 和物理磁盘的性能,我必须监控 Perfmon 中的所有计数器是什么?
问问题
1247 次
2 回答
2
Windows 机器的性能信息存储在注册表的特定部分。您使用注册表 API 来枚举计数器并获取它们的名称和值。
于 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 回答