伙计们,我有以下代码:
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:"
.哎呀。
编辑 2:
你可以用
获取名字 var cat = new System.Diagnostics.PerformanceCounterCategory("PhysicalDisk");
var instNames = cat.GetInstanceNames();
过滤掉以数字开头的名称可能是安全的。 (_Total 也在列表中)。
关于c# - 使用 PerformanceCounters 定位特定驱动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5172555/