постоянный дросселирование процессора

0

Мне нравится отключать TurboBoost и устанавливать максимальную скорость процессора на более низкое значение. Это означает, что текущие вычисления потребуют больше времени, но, с другой стороны, компьютер работает тише и имеет лучшее время автономной работы, и, возможно, даже больше вычислений на заряд батареи.

Я пробовал что-то вроде echo 2000000 >/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freqroot для каждого ядра процессора. Однако эта настройка теряется, если я перезагружаю систему и даже при каждом цикле ожидания.

Где поместить эти команды, чтобы сделать изменение постоянным? Как я могу разрешить непривилегированному пользователю вызывать эту команду и настраивать частоту по его требованию?

dronus
источник
Turbo Boost может на самом деле сэкономить заряд батареи, делая вещи быстрее и используя меньше энергии, потраченной на дисплей, память, диск и другие области. и есть это: phoronix.com/scan.php?page=news_item&px=MTM3NTI
Behrooz
Это правда, поскольку процессор потребляет только часть общего потребления, более длительный расчет потребляет больше энергии. С другой стороны, потребление ресурсов процессора увеличивается пропорционально на МГц, поэтому может быть лучше замедлить процесс. Однако при бесшумной работе все еще есть преимущество, если достаточно пассивного или очень низкого охлаждения вентилятора, чего, безусловно, нет при использовании TurboBoost.
Дронус

Ответы:

1

TurboBoos можно отключить только в настройках BIOS, если у вас нет такой опции, вы не можете отключить TurboBoost, за исключением настройки BIOS ROM. Для обновления значения в таких файлах из консоли используйте echo -n 100 > /proc/filename. Значения обычно нигде не хранятся. Чтобы разрешить не-root делать это, создайте сценарий, который изменяет значения, и используйте, visudoчтобы разрешить доступ к сценарию.

Барафу Альбино
источник
TurboBoost можно отключить, опустив scaling_max_freq ниже заводского максимума ЦП. Частота не поднимается выше заданного значения, поэтому TurboBoost неактивен. Я знаю, как установить значение, используя, echoкак вы предлагаете, например. Но проблема в том, что настройка сбрасывается при определенных событиях, таких как пробуждение из режима ожидания. Таким образом, мои личные предпочтения должны храниться в любом месте и должны применяться механизмом, который изменяет значения в режиме ожидания ... но какие сценарии или демоны ответственны за это?
Дронус
0

Я обнаружил, что есть набор инструментов под названием «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.

dronus
источник