- Регулировка частоты процессора с помощью cpufreq-applet в Ubuntu
- Несколько рекомендаций по активированию регулировки частоты процессора в Ubuntu:
- Немного теории
- Управление частотой процессора ноутбука в Linux
- Как делаю это я?
- Комментарии
- как менять/смотреть частоту процессора
- powersave и performance
- userspace
- ondemand
- conservative
- Изменение частоты процессора
- Политика управления частотой процессора «ondemand» и iowait в Ubuntu
Регулировка частоты процессора с помощью cpufreq-applet в Ubuntu
Для нетбуков и ноутбуков актуальной проблемой является автоматическая регулировка частоты центрального процессора, которая позволяет экономить заряд батареи и уменьшать шум от работы системы охлаждения. За это все в Linux отвечает пакет-демон cpufreq. Для управления этим демоном придуман графический апплет в Gnome: Монитор изменения частоты процессора, который позволяет с легкостью менять частоту процессора на предустановленные производителем режимы и менять профили управления питанием: быстродействие, сохранение энергии, автоматическая регулировка и т.д.
Несколько рекомендаций по активированию регулировки частоты процессора в Ubuntu:
- Ваш процессор должен поддерживать функцию CPU Frequency scaling. Чтобы проверить это, нужно установить пакет acpitool:
Немного теории
При соблюдении всех правил у Вас добавиться возможность, при необходимости, самостоятельно регулировать частоту процессора. Вручную задать частоту процессора не получиться. Производитель каждой железяки самостоятельно решает на каких частотах может работать его устройство. К примеру, в нетбуке Samsung N140 предусмотрены рабочие частоты: 1.67GHz, 1.33GHz и 1GHz. Так же можно выбирать профили работы процессора:
- Conservative — частота процессора регулируется автоматически в зависимости от нагрузки на процессор. Регулирование частоты происходит плавно, что сказывается благоприятнее на долговечность аккумуляторной батареи в плане срока службы, откладывая немного подальше покупку новой батареи.
- Ondemand — регулирование частоты происходит автоматически в зависимости от ресурсоемкости запущенных приложений. Этот профиль выбран по умолчанию при загрузке ОС.
- Performance — процессор работает постоянно на максимальной частоте.
- Powersave — режим максимального энергосбережения и за счет этого низкий уровень шума.
Знакомые недавно ездили заграницу отдыхать. Точнее, в Европу. Говорят, что отдых в Хорватии осенью — это просто нечто. Этот отдых богат на впечатления, но координально отличается от привычной пляжной Турции. Я нигде не был, но очень хочу побывать хоть где-нибудь, дальше чем Россия.
Источник
Управление частотой процессора ноутбука в Linux
Уже давно стал замечать, что если смотреть видеоролики в интернете на нетбуке с процессором Intel Atom, они немного подтормаживают. Покопавшись в логах понял, что в это самое время загрузка процессора идет на 100%, а состояние процессора почему-то остается в режиме «энергосбережение». То ли всему виной операционная система Linux, то ли сам Atom так себя ведет, непонятно.
Единственным решением, которое я увидел, это самостоятельно управлять режимами работы процессора, благо cpufrequtils – это позволяет делать.
В большинстве случаев у Вас уже должна стоять утилита cpufrequtils, но на всякий случай исполняем команду установки этого дела:
В cpufrequtils есть несколько готовых шаблонов работы процессора:
- performance – максимальное быстродействие;
- powersave – режим энергосбережения;
- ondemand – автоматический режим, при котором происходит изменение частоты процессора в зависимости от нагрузки (этот режим стоит по умолчанию);
- conservative – тоже самое как и ondemand, но менее агрессивно.
Возможно, есть где-нибудь в закоулках сайта Intel специальный модуль для ядра Linux, чтобы мой процессор умно переключал эти режимы, но искать мне его лень. Если кто-нибудь это уже делал, то было бы неплохо об этом рассказать в комментариях. Лично я просто вручную переключаю эти режимы консольными командами.
Вот, к примеру, если нужно переключить процессор в максимальное быстродействие:
Если в режим энергосбережения, то эта команда:
Как делаю это я?
Так как у моего процессора 4 ядра, то делаю я это так:
быстродействие:
Из этих двух команд я создал 2 скрипта и «повешал» на сочетание клавиш Ctrl F9 . Теперь в зависимости от потребностей я могу легко менять частоту процессора.
P.S. Для того, чтобы при переключении не выскакивала консоль (терминал) необходимо вместо sudo использовать gksudo. Это графический интерфейс для ввода пароля.
Комментарии
И че, видать результат?! А как это понять?! Если включен режим энергосбережения тогда CPU почему до 100%? Мне кажется это все такое самовнушение. Прошу вас ответить увидели ли вы положительный результат от вкл выкл данного режима?!
Конечно есть. Производительность, как и шум вентилятора стали максимальны 😉
Посмотреть текущую работу процессора можно командой cpufreq-info
Балин, тоже счастливый обладатель подобного недоноута, в настоящее время использую его как роутер 🙂 Статья полезная попробуем применить на практике.
- Денис Юрьевич прокомментировал MultiKey не устанавливается, отозван сертификат
- Павел Urman прокомментировал Как закрыть крышку часов Tissot?
- AdminWay прокомментировал kernel_task грузит проц на 100% на MacOS BigSur
- Лев прокомментировал kernel_task грузит проц на 100% на MacOS BigSur
- AdminWay прокомментировал kernel_task грузит проц на 100% на MacOS BigSur
5% заполнение листа или о чем не договаривают производители оргтехники?
Поднимаем на Mikrotik OpenVPN сервер
Если Вы используете материал моего блога, то будьте добры поставьте ссылку.
Источник
как менять/смотреть частоту процессора
Посмотреть текущую частоту процессора в 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-подобных систем его установка производится следующим образом:
Источник
Изменение частоты процессора
Люди.У меня такая проблема.Работаю со встроенной Linux системой,основанной на ARM. И мне нужно иногда менять(програмно) частоту процессора. В сети нашёл кучу инфы на эту тему и она вся сводится к тому,что надо работать с интерфейсом: /sys/devices/system/cpu/cpu#/cpufreq. Там есть файл scaling_setspeed и с помощью(например): echo 1000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed можно менять частоту процессора на 1GHz. Так же можно скомпилить пакет cpufregutils,включающий в себя cpufreq-info,cpufreq-set и ещё 1 или 2 утилиты(зависит от версии),которые мне не нужны и я их убрал. Фактически этот пакет работает с тем же интерфейсом.
Теперь,что у меня происходит на деле.
1. После echo 1000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed либо cpufreq-set -f 1000MHz нет никакого сообщения об ошибке, т.е. операция закончилась успешно.
2. Время модификации файла scaling_setspeed изменилось,т.е. произведено изменение файла.
3. cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed выдаёт 800000,т.е. 800МHz,как и было.
4. cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq выдаёт 800000,т.е. 800МHz,как и было.
5. cat /proc/cpuinfo выдаёт Processor : ARMv7 Processor rev 2 (v7l)
Features : swp half thumb fastmult vfp edsp neon vfpv3
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc08
CPU revision : 2
Hardware : IdentyTech IDT-SOM-OM3730
т.е. BogoMIPS : 799.29 не изменилось.
6. cpufreq-info выдаёт,что частота не изменилась.
Кто-нить сталкивался с этой темой,может кто-то подсказать,почему измение не происходит фактичски,плз?
Источник
Политика управления частотой процессора «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 .
Всё. Теперь при повышении загрузки процессора операциями ввода-вывода, частота автоматически поднимается до максимальной, как мне и хотелось.
Источник