Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #103, ИЮЛЬ 2007 г.

Как здоровье, пингвин?

Юрий Раззоренов

Хакер, номер #103, стр. 103-102-1

(zloy.bobr@gmail.com)

Обзор программ для мониторинга работы железа в Linux

Лето. На улице уже который день стоит жара. Три вентилятора в системном блоке с большим трудом справляются с охлаждением, хотя шумят прилично. Иногда создается впечатление, что системный блок можно использовать вместо печки. Как узнать, что происходит внутри, не дотрагиваясь пальцами до деталей включенного компьютера? Может, уже пора дать отдохнуть своему железному другу? Или поставить еще один кулер? В составе любого дистрибутива Linux найдется несколько утилит, которые помогут получить ответ на эти и другие вопросы и расскажут все о текущем состоянии железа.

lm-sensors: стандарт де-факто

В Debian, Ubuntu и других дистрибутивах, использующих apt, команда apt-cache search monitoring выдает большой список пакетов на все случаи жизни. Все их рассмотреть не получится, да и, наверное, не нужно. Мониторинг оборудования (температура, вращение вентиляторов, напряжение питания) будем производить с помощью утилиты lm-sensors (www.lm-sensors.org). Утилита собирает и анализирует все, что идет по шине SMB (System Management Bus), к которой могут быть подключены не только процессор и материнская плата, но и модули памяти, видеокарта и прочее оборудование.

В ядрах 2.4 установка lm-sensors могла вызвать легкий стресс, но с интеграцией в ядро 2.6 компонентов, осуществляющих мониторинг, заставить ее работать уже не проблема. Информацию о поддержке своего оборудования lm-sensors и ядром можно найти на странице Devices and drivers (www.lm-sensors.org/wiki/Devices). Здесь же уточняем, какую версию lm-sensors рекомендуется использовать с установленным в системе ядром. Хотя можно особо и не выбирать, а ставить то, что предлагается в репозитарии. Так как утилиты диагностики частью ядра не являются, их следует устанавливать отдельно:

$ sudo apt-get install lm-sensors sensord

Заодно установим и демон sensord, его задача собирать информацию в syslog. Кроме того, в случае неприятностей он может выдать предупреждение. Для первоначальной настройки системы мониторинга следует использовать утилиту sensors-detect:

$ sudo sensors-detect

После запуска утилиты тебе будет устроен настоящий допрос с пристрастием. Следует отвечать честно, ничего не скрывая :). В случае сомнения можно разрешать все тесты. Утилита пройдется по всем шинам и устройствам, переберет все скомпилированные модули и выберет те, от которых есть хоть какой-то прок. Если будет выведена хотя бы пара «Success!», считай, что тебе повезло. А значит, мониторингу быть. По окончании утилита запросит создать настройки в соответствии с найденным оборудованием: «I will now generate the commands needed to load the required modules» - и выдаст строку, которую необходимо вставить в файл /etc/modules. Выбрав на следующем шаге Yes, можно разрешить ей сделать это самостоятельно.

Советую проверить в /lib/modules/2.6.x/modules наличие всех модулей, которые порекомендовал загрузить sensors-detect. Скрипт иногда бежит впереди паровоза или, наоборот, отстает, поэтому вполне может быть, что таких модулей в системе попросту нет. Так, однажды мне было предложено использовать i2c-nforce2, но такой модуль в системе отсутствовал. Как вариант - можно попробовать загрузить модули вручную с помощью «modprobe название_модуля».

Содержание  Вперед на стр. 103-102-2