Ice*_*ind 5 .net c# performancecounter
大家好,我有以下代码:
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";
Run Code Online (Sandbox Code Playgroud)
此代码记录每秒磁盘读取数和每秒磁盘写入数,它可以正常工作.我的问题是,如何跟踪一个特定驱动器的读写?我的计算机中有3个硬盘驱动器,现在它总共返回了所有3个驱动器.我如何具体选择我想要监控的驱动器?
您应该将"_Total"替换为相应的驱动器号:
diskRead.InstanceName = "0";
Run Code Online (Sandbox Code Playgroud)
应该检查一下.您需要指定名称"0 C: D:".让人惊讶.
编辑2:
你可以用这个名字
var cat = new System.Diagnostics.PerformanceCounterCategory("PhysicalDisk");
var instNames = cat.GetInstanceNames();
Run Code Online (Sandbox Code Playgroud)
过滤掉以数字开头的名称是很安全的.(_Total也在列表中).