C#实时收集IOps性能数据?
我正试图建立一个小的软件应用程序,可以收集性能数据从Windows计算机 下面是我使用的部分代码和PrintScreen,它给了我一个不正确的数字。 请告诉我代码中有什么错误,以及为什么代码中的刻度不正确。(默认刻度为1) 打印屏幕:C#实时收集IOps性能数据?,c#,performancecounter,provisioned-iops,C#,Performancecounter,Provisioned Iops,我正试图建立一个小的软件应用程序,可以收集性能数据从Windows计算机 下面是我使用的部分代码和PrintScreen,它给了我一个不正确的数字。 请告诉我代码中有什么错误,以及为什么代码中的刻度不正确。(默认刻度为1) 打印屏幕: 除非您提供有关正在发生的错误的更多信息,否则我们无法帮助您。您到底遇到了什么问题?我没有发现错误,我添加了一个打印屏幕,您可以看到Performance Monitor中的数字与我在软件集合中看到的数字不同。 ManagementScope oMs = new
除非您提供有关正在发生的错误的更多信息,否则我们无法帮助您。您到底遇到了什么问题?我没有发现错误,我添加了一个打印屏幕,您可以看到Performance Monitor中的数字与我在软件集合中看到的数字不同。
ManagementScope oMs = new System.Management.ManagementScope("root\\cimv2");
//Inventory
ObjectQuery InventQuery = new ObjectQuery("SELECT * FROM Win32_OperatingSystem");
ManagementObjectSearcher Inventsearcher = new ManagementObjectSearcher(oMs, InventQuery);
ManagementObjectCollection InventCollection = Inventsearcher.Get();
foreach (ManagementObject mgt in InventCollection)
{
outBox.AppendText(mgt["csname"].ToString() + "\n");
}
//Performance
//ObjectQuery PerfQuery = new ObjectQuery("SELECT * FROM Win32_PerfRawData_PerfDisk_PhysicalDisk");
ObjectQuery PerfQuery = new ObjectQuery("SELECT * FROM Win32_PerfRawData_PerfDisk_LogicalDisk");
ManagementObjectSearcher Perfsearcher = new ManagementObjectSearcher(oMs, PerfQuery);
ManagementObjectCollection PerfCollection = Perfsearcher.Get();
foreach (ManagementObject mgt in PerfCollection)
{
mgt.SetPropertyQualifierValue("DiskWritesPerSec", "DefaultScale", ScaleBox.Text);
mgt.SetPropertyQualifierValue("DiskReadsPerSec", "DefaultScale", ScaleBox.Text);
outBox.AppendText("Write IOps: " + mgt["Name"].ToString() + " ");
outBox.AppendText("Write IOps: " + mgt["DiskWritesPerSec"].ToString() + " ");
outBox.AppendText("Read IOps: " + mgt["DiskReadsPerSec"].ToString() + "\n");
}