Как степпинг скорости процессора влияет на проценты использования процессора, сообщаемые в (например) 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 МГц ничего не произошло.