您正在登录到 smartinspect 之类的监视器,这很好。但是在这种情况下,Windows 本身会为您的程序(或进程)收集每个资源的数据。WMI 是应用程序监控的标准。我们可以查看WMI捕获的数据。许多应用程序管理、健康监控或应用程序监控工具都支持开箱即用的 WMI。
因此,我不建议您将应用程序中的 CPU 使用情况记录到日志文件中。
如果您认为可用性和性能至关重要,请选择 Microsoft Operations Manager 解决方案等解决方案。
要了解 WMI 并获取进程列表,请参见下文: -Win32_PerfFormattedData_PerfProc_Process
要获取 Cpu 时间,过滤器是 processID
请参阅这篇文章
- 您可以从 Win32_process 类中获取 processID。
凯文·马修·高斯 (Kevin Matthew Goss)为 C# 简化了 WMI
oConn.Username = "JohnDoe";
oConn.Password = "JohnsPass";
System.Management.ManagementScope oMs = new System.Management.ManagementScope("\\MachineX", oConn);
//get Fixed disk stats
System.Management.ObjectQuery oQuery = new System.Management.ObjectQuery("select FreeSpace,Size,Name from Win32_LogicalDisk where DriveType=3");
//Execute the query
ManagementObjectSearcher oSearcher = new ManagementObjectSearcher(oMs,oQuery);
//Get the results
ManagementObjectCollection oReturnCollection = oSearcher.Get();
//loop through found drives and write out info
foreach( ManagementObject oReturn in oReturnCollection )
{
// Disk name
Console.WriteLine("Name : " + oReturn["Name"].ToString());
// Free Space in bytes
Console.WriteLine("FreeSpace: " + oReturn["FreeSpace"].ToString());
// Size in bytes
Console.WriteLine("Size: " + oReturn["Size"].ToString());
}
您也可以从远程系统监控进程。