PerformanceCounter PhysicalDisk% Disk Time неправильное значение - PullRequest
0 голосов
/ 24 февраля 2019

Нубистский вопрос, давайте посмотрим, сколько голосов за это можно получить?

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 и т. Д.

Это единственный PerformanceCounter, который я могу найти и который использует диск.Почему я получаю неправильные значения?

1 Ответ

0 голосов
/ 24 февраля 2019

Ага, имя_экземпляра, '_total' - это не число на диске, а на всех его дисках.

Итак, ответ здесь устранил мою проблему:

PC18 = new PerformanceCounter("PhysicalDisk", "% Disk Time", "0 C:");

Где: «0 C:» - это имя экземпляра моего физического диска C:

Благодаря «Хенку Холтерману», хотя ответ не был полностью ясен, этого было достаточно, чтобы обратиться кокончательный ответСпасибо!

PerformanceCounterCategory Category = new System.Diagnostics.PerformanceCounterCategory("PhysicalDisk");
string[] InstanceNames = Category.GetInstanceNames();

foreach (string Name in InstanceNames)
    richTextBox1.AppendText(Name + Environment.NewLine);

Это даст вам имена экземпляров, которые вам нужны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...