C#实时收集IOps性能数据?

C#实时收集IOps性能数据?,c#,performancecounter,provisioned-iops,C#,Performancecounter,Provisioned Iops,我正试图建立一个小的软件应用程序,可以收集性能数据从Windows计算机 下面是我使用的部分代码和PrintScreen,它给了我一个不正确的数字。 请告诉我代码中有什么错误,以及为什么代码中的刻度不正确。(默认刻度为1) 打印屏幕: 除非您提供有关正在发生的错误的更多信息,否则我们无法帮助您。您到底遇到了什么问题?我没有发现错误,我添加了一个打印屏幕,您可以看到Performance Monitor中的数字与我在软件集合中看到的数字不同。 ManagementScope oMs = new

我正试图建立一个小的软件应用程序,可以收集性能数据从Windows计算机

下面是我使用的部分代码和PrintScreen,它给了我一个不正确的数字。 请告诉我代码中有什么错误,以及为什么代码中的刻度不正确。(默认刻度为1)

打印屏幕:


除非您提供有关正在发生的错误的更多信息,否则我们无法帮助您。您到底遇到了什么问题?我没有发现错误,我添加了一个打印屏幕,您可以看到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");
                }