PerformanceCounter PhysicalDisk % Disk Time 错误值
PerformanceCounter PhysicalDisk % Disk Time wrong value
一个幼稚的问题,让我们看看这个能得到多少反对票?
private static PerformanceCounter PC18 = new PerformanceCounter("PhysicalDisk", "% Disk Time", "_Total");
调用计数器使用:
private void Timer_Tick(object sender, EventArgs e)
{
Console.WriteLine($"PC18.NextValue()");
}
此计时器设置为 1 秒间隔。
我得到的值没有相应的磁盘使用率百分比,正在显示 130.02 等值。
这是我能找到的唯一一个计算磁盘使用情况的性能计数器。为什么我得到错误的值?
啊哈,instanceName,'_total'不是磁盘上的数字,是所有磁盘。
所以,答案 here 解决了我的问题:
PC18 = new PerformanceCounter("PhysicalDisk", "% Disk Time", "0 C:");
其中:'0 C:' 是我的物理磁盘 C:
的实例名称
感谢'Henk Holterman',虽然答案不是很清楚,但也足以得出最终答案。谢谢!
PerformanceCounterCategory Category = new System.Diagnostics.PerformanceCounterCategory("PhysicalDisk");
string[] InstanceNames = Category.GetInstanceNames();
foreach (string Name in InstanceNames)
richTextBox1.AppendText(Name + Environment.NewLine);
这将为您提供所需的实例名称。
一个幼稚的问题,让我们看看这个能得到多少反对票?
private static PerformanceCounter PC18 = new PerformanceCounter("PhysicalDisk", "% Disk Time", "_Total");
调用计数器使用:
private void Timer_Tick(object sender, EventArgs e)
{
Console.WriteLine($"PC18.NextValue()");
}
此计时器设置为 1 秒间隔。
我得到的值没有相应的磁盘使用率百分比,正在显示 130.02 等值。
这是我能找到的唯一一个计算磁盘使用情况的性能计数器。为什么我得到错误的值?
啊哈,instanceName,'_total'不是磁盘上的数字,是所有磁盘。
所以,答案 here 解决了我的问题:
PC18 = new PerformanceCounter("PhysicalDisk", "% Disk Time", "0 C:");
其中:'0 C:' 是我的物理磁盘 C:
的实例名称感谢'Henk Holterman',虽然答案不是很清楚,但也足以得出最终答案。谢谢!
PerformanceCounterCategory Category = new System.Diagnostics.PerformanceCounterCategory("PhysicalDisk");
string[] InstanceNames = Category.GetInstanceNames();
foreach (string Name in InstanceNames)
richTextBox1.AppendText(Name + Environment.NewLine);
这将为您提供所需的实例名称。