Управление частотой процессора ноутбука в Linux

Уже давно стал замечать, что если смотреть видеоролики в интернете на нетбуке с процессором Intel Atom, они немного подтормаживают. Покопавшись в логах понял, что в это самое время загрузка процессора идет на 100%, а состояние процессора почему-то остается в режиме “энергосбережение”. То ли всему виной операционная система Linux, то ли сам Atom так себя ведет, непонятно.

Единственным решением, которое я увидел, это самостоятельно управлять режимами работы процессора, благо cpufrequtils – это позволяет делать.

В большинстве случаев у Вас уже должна стоять утилита cpufrequtils, но на всякий случай исполняем команду установки этого дела:

sudo apt-get install cpufrequtils

В cpufrequtils есть несколько готовых шаблонов работы процессора:

  • performance – максимальное быстродействие;
  • powersave – режим энергосбережения;
  • ondemand – автоматический режим, при котором происходит изменение частоты процессора в зависимости от нагрузки (этот режим стоит по умолчанию);
  • conservative – тоже самое как и ondemand, но менее агрессивно.

Возможно, есть где-нибудь в закоулках сайта Intel специальный модуль для ядра Linux, чтобы мой процессор умно переключал эти режимы, но искать мне его лень. Если кто-нибудь это уже делал, то было бы неплохо об этом рассказать в комментариях. Лично я просто вручную переключаю эти режимы консольными командами.

Вот, к примеру, если нужно переключить процессор в максимальное быстродействие:

sudo cpufreq-set -g performance

Если в режим энергосбережения, то эта команда:

sudo cpufreq-set -g powersave

Как делаю это я?

У меня, как я уже сказал, Intel Atom (нетбук, который я купил в интернет-магазине) и он почему-то не переводит режимы приведенными выше командами. Мне приходится переключать режимы для каждого ядра в отдельности.

Так как у моего процессора 4 ядра, то делаю я это так:
быстродействие:

sudo cpufreq-set -c 0 -g performance & sudo cpufreq-set -c 1 -g performance & sudo cpufreq-set -c 2 -g performance & sudo cpufreq-set -c 3 -g performance

энергосбережение:
sudo cpufreq-set -c 0 -g powersave & sudo cpufreq-set -c 1 -g powersave & sudo cpufreq-set -c 2 -g powersave & sudo cpufreq-set -c 3 -g powersave

Из этих двух команд я создал 2 скрипта и “повешал” на сочетание клавиш Ctrl+F8 и Ctrl+F9. Теперь в зависимости от потребностей я могу легко менять частоту процессора.

P.S. Для того, чтобы при переключении не выскакивала консоль (терминал) необходимо вместо sudo использовать gksudo. Это графический интерфейс для ввода пароля.

Комментарии:

  1. myr4ik07 опубликовал комментарий 21 Ноябрь 2013, 20:31 #

    И че, видать результат?! А как это понять?! Если включен режим энергосбережения тогда CPU почему до 100%? Мне кажется это все такое самовнушение. Прошу вас ответить увидели ли вы положительный результат от вкл выкл данного режима?!

    | Ответить
    • itshaman опубликовал комментарий 21 Ноябрь 2013, 21:33 #

      Конечно есть. Производительность, как и шум вентилятора стали максимальны ;)

      Посмотреть текущую работу процессора можно командой cpufreq-info

      | Ответить
  2. tulun-admin опубликовал комментарий 3 Декабрь 2013, 10:04 #

    Балин, тоже счастливый обладатель подобного недоноута, в настоящее время использую его как роутер :-) Статья полезная попробуем применить на практике.

    | Ответить
Имя
e-mail
Сайт
Текст комментария: