среда, 17 ноября 2010 г.

Холодный ум и тихое сердце

И всё-таки я не изменил себе =), убунта продержалась три дня, и это кстати, насколько я помню, самый маленький срок жизни убунты на моём компутере. Убунтовское жывотное 2006-го года держалось около недели, 8.04 или 8.10, не помню точно, жила неприлично долго - что-то около месяца, и вот 10.10 - три дня, причём дня невыносимых =). Есть конечно и приятные моменты, но ...
Ну да ладно. У меня тут опять случился порыв чего-нибудь настроить =) , на этот раз взялся за процессор. В общем то как таковой настройки, с изучениями манов и ковыряниями в конфигах, нет. Все как-бы само собой настраивается, работает и доставляет удовольствие. Прежде всего поставил lm-sensors для определения различных датчиков на материнке. Далее поставил cpufreq, теперь частота процессора изменяется динамически в зависимости от надобностей. Есть несколько так называемых governors, что-то типа профилей энергопотребления, в соответствии с которыми частота процессора и изменяется:
performance — профиль performance(производительность) встроен в ядро и поддерживает процессор на максимальной тактовой частоте
ondemand — динамически увеличивает/уменьшает тактовую частоту процессора в зависимости от загруженности системы
conservative — похож на ondemand, но более экономный (предпочтение отдаётся меньшим тактовым частотам)
powersave — похож на conservative, но ещё более экономный
userspace — тактовая частота задаётся пользователем вручную
При старте системы загружается демон cpufrequtils, настроить который можно отредактировав /etc/init.d/cpufrequtils, например задав такой профиль:


ENABLE="true"
GOVERNOR="ondemand"
MAX_SPEED="0"
MIN_SPEED="0"
Максимальную и минимальную частоту можно посмотреть
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
или не указывать для автоматического определения.
Ну и для контроля за температурой и тишиной fancontrol. Настраивается запуском pwmconfig, всё пишется показывается, не ошибёшься. Мне пришлось править /etc/fancontrol, для более плавного включения вентилятора, получилось так:

INTERVAL=7
DEVPATH=hwmon0=devices/platform/coretemp.0 hwmon2=devices/platform/it87.656
DEVNAME=hwmon0=coretemp hwmon2=it8718
FCTEMPS=hwmon2/device/pwm3=hwmon0/device/temp1_input
FCFANS= hwmon2/device/pwm3=hwmon2/device/fan1_input
MINTEMP=hwmon2/device/pwm3=34
MAXTEMP=hwmon2/device/pwm3=60
MINSTART=hwmon2/device/pwm3=20
MINSTOP=hwmon2/device/pwm3=0
Вначале девайсы с которых берётся температура и крутятся вентиляторы, потом температура при которой происходит отключение кулера, MAXTEMP - температура при которой кулер включать на полные обороты, MINSTART и MINSTOP значения PWM при которых кулер начинает работать и останавливается. У меня он не останавливается а крутится 600 об/м, но если остановить его пальцем, то напряжения уже не хватает для старта, поэтому MINSTART на всякий случай поставил 20, при котором напряжения хватает для старта остановленного вручную кулера, мало ли остановится, а со значением выставленным автоматом он не мог стартануть.
Особенно хорошо работа с кулером слышится при старте системы, когда в начале кулер работает на дефолтных оборотах и при запуске демона fancontrol переключается на уменьшенные обороты.
Вот такие делы. Я рад.