伙计们,我有以下代码:
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也在列表中)。