Ключевые слова:cpufreq, cpu, power, apm, acpi, notebook, linux, archlinux, (найти похожие документы)
From: Igor <http://lice.wordpress.com>
Date: Mon, 26 Jan 2008 18:21:07 +0000 (UTC)
Subject: Управление частотой процессора с помощью cpufrequtils
Оригинал: http://lice.wordpress.com/2007/08/28/cpufrequtils/
Введение
Cpufrequtils - это набор утилит, предназначенных для управления
частотами процессоров на вашем компьютере (обычно используется для
ноутбуков), который позволяет увеличивать или уменьшать частоту CPU в
зависимости от нагрузки на систему, от схемы управления питанием.
Например, можно уменьшить частоту процессоров с 1.83GHz до 1000 MHz,
когда ноутбук питается от батареи, тем самым сохраняя энергию.
Настройка
Настройка состоит из трёх частей:
1. загрузка подходящего модуля для CPU
2. выбор схемы управления питанием
3. настройка демона для управления (для ArchLinux)
Рассмотрим все по очереди.
Загрузка подходящего модуля
Говорят, что для большинства лаптопов подходит модуль acpi-cpufreq,
однако, для моего Dell 9400 с Core Duo T2400 подходит модуль
speedstep-centrino. Другие распространённые варианты: powernow-k6,
powernow-k7, powernow-k8, p4-clockmod.
После загрузки модуля можно проверить, всё ли получилось.
$cpufreq-info в моём случае выдаёт следующую информацию:
[cheer@lap ~]$ cpufreq-info
cpufrequtils 002: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to linux@brodo.de, please.
analyzing CPU 0:
driver: centrino
CPUs which need to switch frequency at the same time: 0
hardware limits: 1000 MHz - 1.83 GHz
available frequency steps: 1.83 GHz, 1.33 GHz, 1000 MHz
available cpufreq governors: ondemand, powersave, performance
current policy: frequency should be within 1000 MHz and 1.83 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 1000 MHz (asserted by call to hardware).
analyzing CPU 1:
driver: centrino
CPUs which need to switch frequency at the same time: 1
hardware limits: 1000 MHz - 1.83 GHz
available frequency steps: 1.83 GHz, 1.33 GHz, 1000 MHz
available cpufreq governors: ondemand, powersave, performance
current policy: frequency should be within 1000 MHz and 1.83 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 1000 MHz (asserted by call to hardware).
Настройка схем управления питанием
Так называемые регуляторы (governors) являются схемами управления
питанием. Они должны быть загружены как модули ядра, чтобы их видели
такие программы как kpowersave и gnome-power-manager. Вы можете
загрузить столько регуляторов, сколько захотите, но только один будет
активен. Тем самым вы выберете подходящую для вас схему питания.
Доступные регуляторы:
performance, производительность (по умолчанию). Этот регулятор
встроен в ядро и заставляет работать CPU с максимальной скоростью;
cpufreq_ondemand. Динамически изменяет частоту процессора в
зависимости от нагрузки на систему;
cpufreq_conservative. Похоже на регулятор ondemand, разница лишь в
плавном увеличении и уменьшении частоты процессора, что лучше для
батареи;
cpufreq_powersave. Выставляет минимальную частоту для процессора;
cpufreq_userspace. Пользователь выставляет частоту вручную.
Чтобы выставить схему управления, следует запустить cpufreq-set.
Например:
#cpufreq -g ondemand -c 1
#cpufreq -g ondemand -c 0
За подробностями обращайтесь к cpufreq-set --help.
Настройка демона cpufreq
В ArchLinux предусмотрен демон cpufreq, который позволяет загружать
нужный регулятор при загрузке системы, используя файл
/etc/conf.d/cpufreq. Настройки файла прозрачны, поэтому описывать я их
не буду.
Возможные проблемы
Отмечу, что для двух процессоров cpufreq-set надо запускать
последовательно с параметрами -c 1 и -c 0, так как по умолчанию
команда запускается с -c 0, то есть регулятор будет выставлен только
для первого CPU, а не для всех.