Современные процессоры автоматически снижают тактовую частоту при простое. Обычно это хорошо и работает совершенно прозрачно для пользователя, например, технология Intel Speedstep. С другой стороны, некоторые процессоры могут даже превышать максимальную скорость, когда они не слишком горячие, например Intel TurboBoost. Обратите внимание, что другие производители процессоров имеют аналогичные технологии.
Таким образом, пользователь получает максимальную мощность процессора при минимальном энергопотреблении.
Оказывается, иногда эти технологии работают не так, как задумано. Я часто сталкиваюсь с этой проблемой в программе Squid. Использование процессора при рисовании в Squid на Surface низкое, что подразумевает низкую частоту МГц моего процессора. Как следствие, все чувствует себя медленно и наблюдается заметное отставание при рисовании.
Под Linux вы можете установить скорость ядра ЦП как "пользователь root" с
echo 800000 > /sys/devices/system/cpu/cpuXX/cpufreq/scaling_min_freq
echo 1000000 > /sys/devices/system/cpu/cpuXX/cpufreq/scaling_max_freq
где XX - ядро вашего процессора, например, 0 для первого ядра. 800000 эквивалентно 0,8 ГГц, что является минимальной скоростью моего процессора. Эти команды ограничивают работу ЦП только между 0,8 ГГц и 1 ГГц, что может быть полезно на ноутбуке для увеличения времени работы от батареи. Установка минимальной и максимальной частоты масштабирования на максимальную скорость процессора позволит запустить компьютер на максимальной скорости.
Под Windows RM часы были последней программой, которую я использовал, которая позволяла легко манипулировать скоростью процессора. Эта программа работала только с процессорами до Pentium M/AMD Athlon. Если кто-нибудь знает о программах, которые позволяют легко манипулировать часами, пожалуйста, добавьте в разделе комментариев.
Под Windows в параметрах питания есть одна опция, которая позволяет манипулировать скоростью процессора, называемая "Минимальное состояние процессора" и "Максимальное состояние процессора". Вам может потребоваться включить эти настройки, манипулируя реестром Windows. Так что используйте на свой страх и риск.
В этой статье « Параметры электропитания - добавление или удаление« Состояние процессора мин / макс »» описывается, как включать и отключать настройки.
Итак, для работы со Squid я установил минимальное состояние процессора на 70%, а максимальное на 99%. Причина использования 70% состоит в том, что я не хочу, чтобы процессор все время работал в режиме TurboBoost. Когда мне требуется длительное время автономной работы для моего Surface, у меня есть другой профиль мощности с минимальным состоянием процессора, установленным на 5% и максимальным на 30%. Недостаток способа, которым Microsoft реализует манипулирование скоростью процессора, заключается в том, что ваш процессор не может работать при 100% рабочей нагрузке с тактовой частотой 1 ГГц. Вместо этого параметры питания Microsoft будут регулировать тактовую частоту и максимальное количество процессорного времени, используемого при пониженной тактовой частоте. Это различие в том, как скорость процессора может быть уменьшена / увеличена в Linux, как только что упомянуто.
Например, если вы установили состояние процессора на 50%, а процессор работает только на частоте 1,6 ГГц от процессора 3,2 ГГц, то вы фактически используете только 50% процессорного времени процессора, который работает на максимальной скорости процессора 50%, следовательно, вы используете Мощность процессора 25% по сравнению с процессором, работающим на 100% с частотой 3,2 ГГц. Об этом следует помнить, поскольку низкие значения% могут значительно замедлить работу компьютера.