Введение
Cpufrequtils – это набор утилит, предназначенных для управления частотами процессоров на вашем компьютере (обычно используется для ноутбуков), который позволяет увеличивать или уменьшать частоту CPU в зависимости от нагрузки на систему, от схемы управления питанием. Например, можно уменьшить частоту процессоров с 1.83GHz до 1000 MHz, когда ноутбук питается от батареи, тем самым сохраняя энергию.
Настройка
Настройка состоит из трёх частей:
Рассмотрим все по очереди.
Загрузка подходящего модуля
Говорят, что для большинства лаптопов подходит модуль 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. Вы можете загрузить столько регуляторов, сколько захотите, но только один будет активен. Тем самым вы выберете подходящую для вас схему питания.
Доступные регуляторы:
Чтобы выставить схему управления, следует запустить 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, а не для всех.
Август 28, 2007 в 6:34 пп
Эм, последний абзац не понял – хочешь сказать реально иметь два ядра, пашуших на разных частотах? Мну думал там жёсткая параллельность…
Август 28, 2007 в 8:25 пп
ага. Попробуй позапускай даже с ondemand тяжёлое приложение. Вначале первый процессор поднимет частоту, потом второй, если не хватит мощности.
Август 28, 2007 в 10:50 пп
Спасибо, интересная статья.
Не думаю, что возможность расставлять разные частоты на разных ядрах – нужная функция. Сам использую powersave governor – держит вдвое меньшую частоту, что положительно сказывается на времени работы от батарей. И греется ноут меньше :-)
Август 28, 2007 в 11:28 пп
Это не нужная функция, а необходимая. Ну или нужно исправлять исходный код =)
Август 29, 2007 в 9:14 дп
Немного не по теме, но все таки. У меня тоже бук dell 9400 с дебианом на борту. Настраивал ли кто под него нормальную работу suspend и hibernate?
Август 29, 2007 в 9:20 дп
ага, читайте следующий пост =)
http://lice.wordpress.com/2007/08/29/hibernate-and-suspend-using-pm-utils/
Сентябрь 3, 2007 в 12:15 дп
про неравномерность частоты на ядрах многоядерных процессоров — это просто лаг, только последнее поколение мобильных процов научилось работать асинхронно, еще такое вроде должен уметь серверный сегмент процессоров
Сентябрь 3, 2007 в 10:32 пп
ссылка есть? :)
Сентябрь 4, 2007 в 11:30 дп
http://www.ixbt.com/cpu/intel-thermal-features-core2.shtml
Сентябрь 12, 2007 в 4:01 пп
а у меня под убунтой на ноуте асус a6r с селероном вместо процессора , при загрузке драqвера p4-clockmod система виснет ещё на старте гдма … а если грузить вручную то минут через 5 после работы ….
Сентябрь 12, 2007 в 6:46 пп
с селероном вместо процессора :)
перегрев?
Сентябрь 12, 2007 в 7:31 пп
А это именно из-за модуля? Похоже, действительно, на перегрев =)