伙计们,我有以下代码:

using System.Diagnostics;

private PerformanceCounter diskRead = new PerformanceCounter();
private PerformanceCounter diskWrite = new PerformanceCounter();

diskRead.CategoryName = "PhysicalDisk";
diskRead.CounterName = "Disk Reads/sec";
diskRead.InstanceName = "_Total";

diskWrite.CategoryName = "PhysicalDisk";
diskWrite.CounterName = "Disk Writes/sec";
diskWrite.InstanceName = "_Total";

此代码跟踪每秒的磁盘读取数和每秒的磁盘写入数,并且工作正常。我的问题是,如何跟踪一个特定驱动器的读写?我的计算机中有3个硬盘驱动器,现在它总共返回了所有3个驱动器的总和。如何特别选择要监视的驱动器?

最佳答案

您应将“_Total”替换为适当的驱动器号:

  diskRead.InstanceName = "0";

应该检查一下。您需要指定名称,例如"0 C: D:"。 kes。

编辑2:

您可以使用以下名称
    var cat = new System.Diagnostics.PerformanceCounterCategory("PhysicalDisk");
    var instNames = cat.GetInstanceNames();

过滤掉以数字开头的名称是绝对安全的。 (_Total也在列表中)。

10-07 20:28