Как изменение скорости процессора влияет на процент использования процессора, отображаемый (например) в htop?

Как изменение скорости процессора влияет на процент использования процессора, отображаемый (например) в htop?

Как степпинг скорости процессора влияет на проценты использования процессора, сообщаемые в (например) htop? А как насчет обычного top?

Итак, если частота моего процессора снижена до 800 МГц при полной скорости 2 ГГц, означает ли загрузка в 5%, что процессор проработал 0,05 * 800 = 40 миллионов циклов или 0,05 * 2000 = 100 миллионов циклов?

решение1

Мне сложно найти разумное объяснение различиям в подходах, но вот что я вижу:

ВЛинукс, используя htop, проценты использования ЦП относятся ктекущая тактовая частота. Когда ваш ЦП полностью выключен, ваши фоновые процессы, близкие к простою, могут выглядеть гораздо более загруженными, чем они есть на самом деле, если сравнить их с более «активными» процессами, которые могут запуститься на 10 секунд позже и вызвать ускорение работы ЦП.

Вот действительно хороший ответ (https://unix.stackexchange.com/a/58541/9854), который объясняет, как это работает - в основном система отслеживает "такты часов", и htop, для заданного промежутка времени, преобразует это в процент, глядя на вашу (мгновенную/на тот момент) тактовую частоту. Эта методология, кажется, иногда выдает числа более 100%, но я думаю, что они должны нормализовать/ограничить это.

Это делаетнетпохоже, как диспетчер задач вОкнасообщает об использовании ЦП — похоже, что он фокусируется на использовании относительно некой «стандартной» 100% мощности вашего ЦП (не уверен, как они определяют, что такое 100%, в мире разгона и турбонаддува).

Одним из примеров последствий этого различия является то, что при абсолютно идентичных обстоятельствах, когда мой процессор патологически снизил частоту до 200 МГц по сравнению с обычными 900 МГц в режиме ожидания и 3600 МГц в режиме занятости, Linux htop сообщает: «Мощность процессора достигла максимума, паника, паника», в то время как Windows говорит: «Эй, все отлично, процессор полностью недогружен», хотя пропускной способности процессора недостаточно, чтобы отслеживать курсор мыши...

В обоих случаях вы можете «разобраться» в этих ситуациях, если знаете, что делаете:

  • В Windows (10) при открытом разделе «Подробнее» можно перейти на вкладку «Производительность», раздел «ЦП», чтобы увидеть текущую частоту ЦП.
  • В Linux с htop, настроенным с F2, и в разделе "Параметры отображения" установите флажок "Также показывать частоту ЦП". Это позволит поместить цифры использования в контекст.

решение2

Шаг не имеет значения. 5% означает, что ядра ЦП выполняли полезную работу 5% времени.

Не умножайте скорости на дроби таким образом. Цифры, которые вы получите, по сути, бессмысленны. "40 МГц", которые вы получите, это бессмысленное число — на частоте 40 МГц ничего не произошло.

Связанный контент