2.2. PowerTOP

Наличие безтактового ядра в Red Hat Enterprise Linux 6 (см. Раздел 3.4, «Безтактовое ядро») допускает более частый переход процессора в режим бездействия, тем самым снижая потребление энергии. Новая программа PowerTOP используется для идентификации пользовательских программ и компонентов ядра, наиболее часто пробуждающих процессор. Именно с помощью PowerTOP осуществлялось тестирование эффективности работы программ (см. Раздел 3.11, «Оптимизация в пространстве пользователя»), в результате чего в Red Hat Enterprise Linux 6 удалось уменьшить число ненужных пробуждений процессора в десятки раз.
Установите PowerTOP:
yum install powertop
Команда запуска PowerTOP:
powertop
Для полноценной работы PowerTOP необходимо ее запустить в режиме root.
PowerTOP выполнит сбор системной статистики и предоставит список компонентов, наиболее часто отправляющих сигналы пробуждения процессору. В нижней части экрана будут предложены способы оптимизации с целью снижения энергопотребления. Так как обновление статистики PowerTOP осуществляется довольно часто, рекомендации будут пополняться (см. Рисунок 2.1, «PowerTOP в действии»).
В верхней части списка будет показана длительность всех P и С-состояний процессора. Чем дольше процессор находится в более глубоком состоянии (C4 или C3), тем лучше, так как это служит индикатором оптимального использования процессора. В идеальной ситуации в периоды бездействия процессор будет находиться в наиболее глубоком P или C-состоянии не меньше 90% времени.
Ниже вы увидите число пробуждений в секунду, что также характеризует степень эффективности энергопотребления. Чем больше число, тем больше было затрачено энергии.
Далее показана информация об энергопотреблении системы (если доступна). Обычно показывается для ноутбуков, работающих от батареи.
Затем следует подробный список компонентов, наиболее часто отправляющих запросы пробуждения процессору. В верхней части списка приведены компоненты, на которые следует обратить особое внимание. Если среди перечисленных есть компоненты ядра (имя заключено в скобки <>), это может означать, что пробуждения вызваны конкретным драйвером. Настройка драйверов обычно требует изменений ядра. Их рассмотрение выходит за рамки этого документа. В то же время управлять пользовательскими процессами намного проще, но сначала надо решить, есть ли необходимость в выполнении той или иной службы или приложения. Чтобы насовсем отключить службу, выполните
chkconfig служба off
Для получения информации о выполняемых компонентом действиях, выполните
ps -awux | grep компонент 
strace -p PID
Если действия повторяются, не исключено, что имеет место зацикливание. Для его исправления потребуется модифицировать код компонента, обсуждение чего выходит за рамки данного документа.
Наконец, в нижней части экрана PowerTOP предложит способы оптимизации с целью снижения энергопотребления. Так как обновление статистики PowerTOP осуществляется довольно часто, рекомендации будут пополняться (см. Рисунок 2.1, «PowerTOP в действии»). Изменения будут активны только до перезагрузки. Можно сделать так, чтобы настройки сохранялись между перезагрузками — PowerTOP покажет точную команду. Добавьте ее в файл /etc/rc.local для активации при каждой загрузке системы.
PowerTOP в действии

Рисунок 2.1. PowerTOP в действии

На сайте http://www.lesswatts.org/projects/powertop/known.php можно найти список приложений, которые программа PowerTOP идентифицировала как без необходимости поддерживающие активное состояние процессора.