- как менять/смотреть частоту процессора
- powersave и performance
- userspace
- ondemand
- conservative
- Политика управления частотой процессора «ondemand» и iowait в Ubuntu
- Регулировка частоты процессора с помощью cpufreq-applet в Ubuntu
- Несколько рекомендаций по активированию регулировки частоты процессора в Ubuntu:
- Немного теории
- Шпаргалка 😉
- 21 мар. 2014 г.
- Регулирование частоты CPU (энергосбережение) в Linux Debian
- Частота процессора в Linux
- Как узнать частоту процессора Linux
- Управление частотой в Linux
- Выводы
как менять/смотреть частоту процессора
Посмотреть текущую частоту процессора в GNU/Linux нетрудно. Для этого достаточно просмотреть файл /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
cpu0 указывает на первый процессор, если процессоров несколько, то порядковые номера будут изменяться, в зависимости от их количества. Частота указывается в КилоГерцах (KHz). Для просмотра файла нужны привилегии root.
Если в системе доступно, например, 3 ядра, то можно выполнить вот этот однострочный скрипт, чтоб сразу перевести частоту из KHz в MHz:
Вот еще один вариант, как проверить текущую частоту процессора непривилегированным пользователем:
Вот эта команда покажет температуру процессора:
В ядре существуют модули, отвечающие за регуляторы или политики изменения частоты процессора. Все доступные для загруженного ядра можно посмотреть в файле /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
Рассмотрим их ниже.
powersave и performance
Эти регуляторы статически устанавливают тактовую частоту процессора на минимальное (powersave) и на максимальное (performance) значение.
userspace
Этот регулятор даёт пользователю или программе в пользовательском пространстве возможность изменять тактовую частоту процессора. С помощью команды echo пользователь может внести нужное значение частоты в файл /sys/devices/system/cpu/cpu*/cpufreq/scaling_setspeed или же представить возможность установить эту частоту какому-нибудь демону в пользовательском пространстве. Вносить настройку в файл scaling_setspeed необходимо для каждого из процессоров.
С регулятором userspace взаимодействуют несколько демонов, которые могут настраивать частоту процессора. Вот некоторые из них:
cpudyn (CPU dynamic frequency control): этот демон меняет частоту в соответствии с загрузкой процессора, а также, для ещё большей экономии энергии, может переводить диски в режим ожидания (standby) при отсутствии дисковой активности.
cpufreqd: это демон можно настроить на реагирование на уровень заряда батареи, тип питания (от сети или от батареи), температуру, запущенные программы, уровень использования процессора и на другие факторы.
cpuspeed: этот демон изменяет частоту в соответствии с требованиями процессора, изменением источника питания, температурой и другими данными.
powernowd: этот демон регулятора изменяет частоту процессора в соответствии с загрузкой процессора; у него четыре режима поведения, выбираемых пользователем.
ondemand
При задействованном регуляторе ondemand в каталоге cpufreq присутствует каталог ondemand. В этом каталоге имеется множество регулируемых настроек. Все файлы, доступные на запись для root, можно изменить, вписав новое значение с помощью команды echo, как показывалось ранее. Заметьте, что любые изменения в настройках регулятора ondemand будут применяться на общесистемном уровне, поэтому нет необходимости изменять настройки для каждого процессора.
conservative
При использовании регулятора conservative в каталоге cpufreq появляется подкаталог conservative. В этом подкаталоге имеется множество настроек. Все файлы, доступные на запись для root, можно изменять, вписывая в них новое значение с помощью команды echo. Заметьте, что любые изменения в настройках регулятора conservative будут применяться на общесистемном уровне, поэтому нет необходимости изменять настройки для каждого процессора. При этой политике, регулирование частоты происходит плавно, что сказывается благоприятнее на долговечность аккумулятора, если у вас портативное устройство.
Все доступные регуляторы можно посмотреть в /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors:
Так можно узнать текущую политику:
Политика управления частотой процессора изменяется подобным образом:
Для сохранения нужной политики управления частотой после перезагрузки существует набор служебных программ sysfsutils.
Работа этих программ основана на виртуальной файловой системе sysfs. С помощью этих программ можно управлять параметрами устройств и системы, расположенными в системной директории /sys.
Для Debian-подобных систем его установка производится следующим образом:
Источник
Политика управления частотой процессора «ondemand» и iowait в Ubuntu
В современных версиях Ubuntu по умолчанию включена политика управления частотой процессора «ondemand». Эта штука весьма полезна в плане энергосбережения, поскольку устанавливает частоту процессора на минимально возможную, когда нагрузка на процессор невелика.
Однако, недавно я заметил, что у неё есть один недостаток: «ondemand» воспринимает нагрузку на процессор, вызванную операциями ввода-вывода, как «idle». Что это значит? Это значит, что при загрузке процессора операциями ввода-вывода частота процессора зачастую остаётся на пониженном уровне, что создаёт проблемы, если ваша система страдает от печально известного линуксового бага с iowait.
Бороться с таким поведением «ondemand» можно двумя способами.
Первый вариант — отключить энергосберегающий режим процессора. Например, исправив скрипт, который его включает. Он скрывается под вполне логичным именем «ondemand» и располагается в /etc/init.d . Если исправить в этом файле строку
, то процессор будет постоянно работать на максимальной частоте.
Второй вариант — включить для «ondemand» режим, в котором он не будет игнорировать iowait. Это управляется параметром в /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy . Для этого я написал маленький init-скрипт:
После этого скрипт сохраняется в файл /etc/init.d/io-is-busy , делается исполняемым и прописывается в системе командой sudo update-rc.d io-is-busy defaults 99 99 .
Всё. Теперь при повышении загрузки процессора операциями ввода-вывода, частота автоматически поднимается до максимальной, как мне и хотелось.
Источник
Регулировка частоты процессора с помощью cpufreq-applet в Ubuntu
Для нетбуков и ноутбуков актуальной проблемой является автоматическая регулировка частоты центрального процессора, которая позволяет экономить заряд батареи и уменьшать шум от работы системы охлаждения. За это все в Linux отвечает пакет-демон cpufreq. Для управления этим демоном придуман графический апплет в Gnome: Монитор изменения частоты процессора, который позволяет с легкостью менять частоту процессора на предустановленные производителем режимы и менять профили управления питанием: быстродействие, сохранение энергии, автоматическая регулировка и т.д.
Несколько рекомендаций по активированию регулировки частоты процессора в Ubuntu:
- Ваш процессор должен поддерживать функцию CPU Frequency scaling. Чтобы проверить это, нужно установить пакет acpitool:
Немного теории
При соблюдении всех правил у Вас добавиться возможность, при необходимости, самостоятельно регулировать частоту процессора. Вручную задать частоту процессора не получиться. Производитель каждой железяки самостоятельно решает на каких частотах может работать его устройство. К примеру, в нетбуке Samsung N140 предусмотрены рабочие частоты: 1.67GHz, 1.33GHz и 1GHz. Так же можно выбирать профили работы процессора:
- Conservative — частота процессора регулируется автоматически в зависимости от нагрузки на процессор. Регулирование частоты происходит плавно, что сказывается благоприятнее на долговечность аккумуляторной батареи в плане срока службы, откладывая немного подальше покупку новой батареи.
- Ondemand — регулирование частоты происходит автоматически в зависимости от ресурсоемкости запущенных приложений. Этот профиль выбран по умолчанию при загрузке ОС.
- Performance — процессор работает постоянно на максимальной частоте.
- Powersave — режим максимального энергосбережения и за счет этого низкий уровень шума.
Знакомые недавно ездили заграницу отдыхать. Точнее, в Европу. Говорят, что отдых в Хорватии осенью — это просто нечто. Этот отдых богат на впечатления, но координально отличается от привычной пляжной Турции. Я нигде не был, но очень хочу побывать хоть где-нибудь, дальше чем Россия.
Источник
Шпаргалка 😉
Блог посвященный системному администрированию
21 мар. 2014 г.
Регулирование частоты CPU (энергосбережение) в Linux Debian
CPU загружен полностью не всегда, потому для повышения энергосбережения современные поколения процессоров позволяют уменьшать свою частоту во время простоя. В Windows Vista, 7, 8 этот принцип реализован по-умолчанию (включается/выключается в настройках BIOS), а в OS Linux для этого нужно установить специального демона cpufrequtils:
aptitude install cpufrequtils
Он запустится и по-умолчанию в нем настроен т. н. governor (регулятор) управления частотой ondemand. Регуляторы бывают:
- performance, производительность (по умолчанию). Этот регулятор встроен в ядро и заставляет работать CPU с максимальной скоростью;
- ondemand. Динамически изменяет частоту процессора в зависимости от нагрузки на систему (повышает частоту при достижении 95% нагрузки на текущей частоте);
- conservative. Похоже на регулятор ondemand, разница лишь в том, что повышает частоту при достижении 75% нагрузки на текущей частоте;
- powersave. Выставляет минимальную частоту для процессора;
- userspace. Пользователь выставляет частоту вручную.
Задать регулятор можно в файле /etc/default/cpufrequtils (если его нет, нужно создать), например :
# valid values: userspace conservative powersave ondemand performance
# get them from cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
GOVERNOR=»conservative»
Также не забываем включить демона в автозагрузку:
update-rc.d cpufrequtils defaults
Для Gnome 3 shell можно установить дополнение, которое будет показывать в верхней строке состояния текущую частоту и даст возможность менять регулятор «на лету» мышкой.
Этим мы установим дополнение, но активировать его нужно в апплете Advanced Settings (пакет gnome-tweak-tool):
Источник
Частота процессора в Linux
Если вы уже пытались настраивать частоту Linux, то, наверное уже заметили, что частота процессора сама меняется в зависимости от нагрузки на систему. Операционная система устанавливает лимит минимальной и максимальной частоты, и когда нагрузки нет частота автоматически опускается до минимальной, а при появлении нагрузки подымается назад.
Конечно, в интерфейсе BIOS можно зафиксировать частоту на одном уровне, но в этом нет смысла. С точки зрения баланса производительности и энергопотребления лучше оставить всё как есть. Но правила изменения частоты можно настроить. Для этого используются политики CPU Governor. В этой статье мы рассмотрим как узнать частоту процессора Linux, а также как настроить её изменение.
Как узнать частоту процессора Linux
Узнать текущую частоту процессора можно вместе с другой информацией о нём с помощью утилиты lscpu:
Здесь же выводится максимальная и минимальная частота. Текущую частоту для каждого ядра по отдельности вы можете посмотреть в файле /proc/cpuinfo:
Так можно вывести информацию обо всех ядрах на одном экране:
cat /proc/cpuinfo | grep «cpu MHz»
Утилита lshw тоже выводит текущую и максимальную частоту в секции cpu:
Ну и hwinfo выводит нужную нам информацию. Правда, прежде надо её установить:
sudo apt install hwinfo
hwinfo —short —cpu
Если вы хотите отслеживать как меняется частота со временем используйте hwinfo в сочетании с утилитой watch:
watch hwinfo —short —cpu
Теперь вы знаете как посмотреть частоту процессора Linux, перейдём к управлению.
Управление частотой в Linux
Для управления частотой в операционной системе Linux используются политики CPU Governor. Они определяют как быстро будет изменятся частота при изменении нагрузки. Существует четыре политики:
- powersave — процессор работает на минимальной частоте;
- performance — процессор работает на максимальной частоте;
- ondemand — динамическое изменение частоты, при появлении нагрузки резко устанавливается самая высокая частота, а при снижении нагрузки частота медленно снижается;
- conservative — аналогично ondemand, только частота меняется более плавно;
- userspace — использовать частоту заданную пользователем;
- schedutil — изменение частоты на основе планировщика.
Самый выгодный в данном случае режим — это ondemand, частота повышается при необходимости и опускается если она не нужна. Чтобы посмотреть текущую политику управления частотой вам понадобится утилита cpupower, которую можно установить, установив этот пакет:
sudo apt install linux-tools-generic
Затем посмотрите информацию о процессоре:
Как видите, сейчас для управления частотой используется политика ondemand. Для установки политики используйте команду frequency-set и опцию -g. Например, для performance:
sudo cpupower frequency-set -g performance
Теперь частота гораздо выше, а используемая политика performance. Для того чтобы вручную менять частоту установите политику userspace:
sudo cpupower frequency-set -g userspace
Для установки максимальной частоты используйте опцию -u:
sudo cpupower frequency-set -u 3600Mhz
Для установки минимальной частоты — опцию -d:
sudo cpupower frequency-set -d 2300Mhz
А для изменения текущей частоты процессора — опцию -f:
sudo cpupower frequency-set -f 3500Mhz
Частота всё-равно будет немного колебаться, но эти колебания будут в пределах выбранного диапазона.
Все эти изменения сбрасываются после перезагрузки, поэтому если вы хотите чтобы всё сохранялось, придется создать скрипт с нужными командами и добавить его в автозагрузку.
Если вы любите пользоваться графическим интерфейсом вместо команд, вам понравится утилита cpupower-gui. Она позволяет настроить все необходимые параметры в графическом интерфейсе. Для её установки выполните:
sudo apt install cpupower-gui
Для установки самой последней версии выполните такие команды:
echo ‘deb http://download.opensuse.org/repositories/home:/erigas:/cpupower-gui/xUbuntu_20.04/ /’ | sudo tee /etc/apt/sources.list.d/home:erigas:cpupower-gui.list
curl -fsSL https://download.opensuse.org/repositories/home:erigas:cpupower-gui/xUbuntu_20.04/Release.key | gpg —dearmor | sudo tee /etc/apt/trusted.gpg.d/home:erigas:cpupower-gui.gpg > /dev/null
sudo apt update
sudo apt install cpupower-gui
После завершения установки вы сможете найти программу в главном меню. Её окно выглядит вот так:
Утилита позволяет настроить максимальную и минимальную частоту, а также политику для каждого ядра по отдельности или для всех ядер вместе. Просто выберите нужные значения и нажмите кнопку Apply.
В отличие от консольных команд утилита позволяет устанавливать необходимые вам значения профиля и частоты при старте программы. Для этого в программе есть два профиля Balanced и Performance. Первый использует политику Powersave, а второй — Performance. Для того чтобы выбрать профиль по умолчанию надо отредактировать конфигурационный файл /etc/cpupower_gui.conf:
sudo vi /etc/cpupower_gui.conf
Измените значение параметра Profile на нужное и этот профиль будет выбираться по умолчанию при старте программы, останется только добавить её в автозагрузку. Кроме этих двух профилей можно создавать свои в папке /etc/cpupower_gui.d/. В этой папке уже лежит пример профиля, но рассматривать этот процесс подробнее мы не будем.
Выводы
В этой небольшой статье мы рассмотрели как меняется частота процессора Linux, как её настроить и зачем это необходимо.
Источник