Года 3 назад, заинтересовался режимами работы процессора в
Linux, данный параметр влияет не только на скорость выполнения операций, но и потребление электроэнергии, у меня компьютер работает 24/7, и допустим в ночное время, или когда компьютер простаивает я не вижу смысла в повышенных частотах.
Современные десктопные процессоры поддерживают 3 основных режима
powersave,
ondemand и
performance.
- powersave — режим энергосбережения, ядро будет работать на пониженных частотах
- ondemand — режим зависящей от текущей нагрузки на ядро
- performance — режим максимальной мощности, выставляет максимально возможную частоту
Для управления данными режимами можно использовать утилиту
cpupower или использовать следующую команду
echo governor | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
governor заменить на один из режимом, cpu* — на номер ядра, лично я предпочитаю
cpupower.
Кстати посмотреть доступные режимы можно командой
cpupower frequency-info --governors
Установим
cpupower pacman -S cpupower
. Для того что бы мы могли менять частоту без явок и паролей, добавим в
/etc/sudoers
username ALL=(ALL) NOPASSWD:/usr/bin/cpupower
Разъясняю, пользователь
username может выполнять все команды используя
sudo, но
/usr/bin/cpupower будет выполнять без запроса пароля.
У меня процессор
AMD FX-6350, у него «6» ядер, и на каждое ядро можно выставлять определенный режим работы. Если не использовать
cpupower придется писать скрипты с циклами или перечислять каждое ядро отдельно.
Следующей командой можно выставить необходимый нам режим:
#!/bin/bash
sudo cpupower frequency-set -g governor > /dev/null
governor меняем на нужный нам режим.
Так же у меня мультимедийная клавиатура, и на ней есть кнопки типа «браузер», «почта» и прочее бесполезная хрень, и на многие у меня назначены реально необходимые мне функции. На одной из кнопок у меня назначен скрипт, который поочередно меняет режимы процессора.
powermode.sh:
#!/bin/bash
if [ "`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor`" == "ondemand" ]; then
sudo cpupower frequency-set -g performance > /dev/null
notify-send -i /usr/share/icons/hicolor/48x48/apps/xfce4-cpufreq-plugin.png "PERFOMANCE CPU MODE ON"
elif [ "`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor`" == "performance" ]; then
sudo cpupower frequency-set -g powersave > /dev/null
notify-send -i /usr/share/icons/hicolor/48x48/apps/xfce4-cpufreq-plugin.png "POWERSAVE CPU MODE ON"
else
sudo cpupower frequency-set -g ondemand > /dev/null
notify-send -i /usr/share/icons/hicolor/48x48/apps/xfce4-cpufreq-plugin.png "ONDEMAND CPU MODE ON"
fi
Рекомендую не запариваться, а использоваться
ondemand, хотя в некоторых играх(да под
Linux куча игр) или когда нужно, что нибудь быстро откомпилировать приходится включать
perfomance.
Всем повышенных частот и минимального энергопотребления.
Комментарии ()