Получение загруженности каждого ядра

224
20 января 2017, 05:59

Я смог получить общую загруженность процессора через Open Hardware Monitor Lib вот так:

public static short GetCPUUsage()
{
    Computer myComputer = new Computer();
    myComputer.CPUEnabled = true;
    myComputer.Open();
    foreach (var hardwareItem in myComputer.Hardware)
    {
        if (hardwareItem.HardwareType == HardwareType.CPU)
        {
            foreach (var sensor in hardwareItem.Sensors)
            {
                if (sensor.SensorType == SensorType.Load)
                {
                    hardwareItem.Update();
                    return Convert.ToInt16(sensor.Value);
                }
            }
        }
    }
    return -1;
}

Но как мне получить загруженность каждого ядра?

Answer 1

Судя по всему так:

hardwareItem.Sensors[0].Value // Core #1
hardwareItem.Sensors[1].Value // Core #2
hardwareItem.Sensors[2].Value // Core #3
hardwareItem.Sensors[3].Value // Core #4

Имена можно получить так:

hardwareItem.Sensors[0].Name // Core #1
hardwareItem.Sensors[1].Name // Core #2
hardwareItem.Sensors[2].Name // Core #3
hardwareItem.Sensors[3].Name // Core #4

Чем вас ваш код кстати не устраивает, вы же вроде тоже самое и получаете?

READ ALSO
WCF: Как отключить базовую авторизацию

WCF: Как отключить базовую авторизацию

Изучаю базовую авторизацию

324
scrollbar на Windows Forms

scrollbar на Windows Forms

Помогите, пожалуйста, как реализовать scrollbar на winforms c#? Я добавила элемент на форму, но что нужно сделать, чтобы он двигался?

426
Ошибка при запуске приложения в случае автозапуска при старте Windows

Ошибка при запуске приложения в случае автозапуска при старте Windows

Мне нужно иметь два способа запуска моей программы: обычный запуск с отображением формы, и скрытый запуск без отображения формы - при запуске...

410
LinqToSql как поменять псевдоним поля

LinqToSql как поменять псевдоним поля

Есть запрос на выборку данных, которые отправляются в dataGrid WPF:

242