Мне нравится отключать TurboBoost и устанавливать максимальную скорость процессора на более низкое значение. Это означает, что текущие вычисления потребуют больше времени, но, с другой стороны, компьютер работает тише и имеет лучшее время автономной работы и, возможно, даже больше вычислений на заряд батареи.
Я пробовал что-то вроде echo 2000000 >/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
как root для каждого ядра процессора. Однако эта настройка теряется, если я перезагружаю систему и даже при каждом цикле ожидания.
Где разместить эти команды, чтобы сделать изменение постоянным? Как я могу позволить непривилегированному пользователю вызывать эту команду и настраивать частоту по его требованию?
TurboBoos можно отключить только в настройках BIOS, если у вас нет такой опции, вы не можете отключить TurboBoost, за исключением настройки BIOS ROM. Для обновления значения в таких файлах из консоли используйте echo -n 100 > /proc/filename
. Значения обычно нигде не хранятся. Чтобы позволить не-root делать это, создайте скрипт, который изменяет значения, и используйте visudo
, чтобы разрешить доступ к скрипту.
Я обнаружил, что есть набор инструментов под названием «TLP» ( http://linrunner.de/en/tlp/docs/tlp-linux-advanced-power-management.html ), который Помимо огромного набора других настроек энергосбережения, можно настроить максимальную частоту ЦП для переменного тока и использования батареи по желанию пользователя. Это не чистое решение вопроса, потому что он делает гораздо больше вещей, но большинство из них тоже полезны ...
После установки можно изменить конфигурацию в /etc/default/tlp
. Для этого есть две записи: CPU_SCALING_MAX_FREQ_ON_AC
и CPU_SCALING_MAX_FREQ_ON_BAT
. Указанные здесь значения будут использоваться сценариями TLP для установки пределов частоты ЦП в зависимости от того, используется ли батарея или нет, и она также восстановит значения после приостановки и ожидания. Изменения в конфигурации могут быть активированы немедленно, используя sudo tlp start
.