Главная | Контакты



Главная > Программы > mbmon

Mbmon - утилита для контроля температуры в системе

mbmon - утилита для контроля температуры в системе Ночь на понедельник выдалась несколько беспокойной. Около 22.30 сервер был потерян из виду по неизвестной причине. Удаленный мониторинг буркнул об этом SMS'кой, но, та пришла видимо с небольшим запозданием и среагировал я на возникшую проблему уже после одинадцати вечера.

Сервер по локальной сети не пинговался, маршрутизация во "внешку" тоже не работала. Становилось понятно, что "ежик сдох". Опасения подтвердились после того, как к трупу были подключены монитор и клавиатура. Пациент отреагировал только на RESET.

Естественно, в сложившейся ситуации сразу возник вопрос: "Что же произошло?" Зашел в BIOS в Hardware Monitor и обалдел. Температура CPU 75 градусов Цельсия. Датчики температуры материнской платы тоже показывали завышенные значения. Насколько мне не изменяет память, нормальная температура для Celeron D 2.4 Hz (и ему подобных) должна лежать в пределах 40 - 60 градусов. Выше - ненормально! Сработала, видимо, защита от перегрева и процессор просто отключился.

Я сначала усомнился в правильности этих значений. Слышал не раз, что датчики температуры, которые ставят производители "железа" очень часто врут и бывает даже что на несколько порядков. Решил перепровериться. В арсенал электромонтажника я когда-то покупал себе ампервольтомметр или, как его еще называют, мультиметр. Ничего особенного. Обычная китайская электроника, работающая от 9-ти вольтовой кроны, которая, как ни странно, еще ни разу не подводила. В комплекте с мультиметром шла термопара, с помощью которой можно было измерять температуру поверхности радиатора на процессоре. Термопарой я еще ни разу за три года не пользовался, но здесь она мне сослужила добрую службу. Температура на радиаторе процессора уже выключеной системы была около 65 градусов. Вывод: показатели не врут и с перегревом надо что-то делать.

А сделать нужно было всего лишь: снять радиатор, снять с него куллер и убрать из-под него отложения пыли.  (вообще, у меня в правилах дважды в год очищать системные блоки пылесосом, но каким-то образом отложения накопились раньше срока). Конечно же, не следует забывать подложить после всего горошинку свежей термопасты между поверностью процессора и радиатора.

После такого "секса с железом" в голове проскочила мысль: "А неплохо бы регулярно мониторить температуру в системнике и в случае появления тревожных симптомов оперативно на них реагировать". Сказано - сделано!

Что нам нужно для мониторинга температуры? Две вещи: то, что будет эту температуру снимать с датчиков и то, что будет ее визуализировать, например, отрисовывая в красивых графиках. Второе - это конечно же RRD. А первое?

Для Windows есть масса софта, позволяющего отслеживать температуру всего, чего угодно (главное, чтобы датчики стояли в нужных местах). А для FreeBSD?.. А для FreeBSD, путем недолгого ковыряния в портах /usr/ports/sysutils/, можно отыскать утилиту mbmon, для которой присутствуют как консольная, так и GUI'ная версии.

Port:   mbmon-205_4
Path:   /usr/ports/sysutils/mbmon
Info:   A tty motherboard monitor for LM78/79, W8378x, AS99127F, VT82C686 and ADM9240
Maint:  ports@FreeBSD.org
B-deps:
R-deps:
WWW:    http://www.nt.phys.kyushu-u.ac.jp/shimizu/download/download.html

Port:   xmbmon-205_9
Path:   /usr/ports/sysutils/xmbmon
Info:   A X motherboard monitor for LM78/79, W8378x, AS99127F, VT82C686 and ADM9240
Maint:  ports@FreeBSD.org
B-deps: kbproto-1.0.3 libICE-1.0.4_1,1 libSM-1.0.3_1,1 libX11-1.1.3_1,1 libXau-1.0.3_2 libXdmcp-1.0.2_1 libXt-1.0.5_1 pkg-config-0.23_1 xproto-7.0.10_1
R-deps: kbproto-1.0.3 libICE-1.0.4_1,1 libSM-1.0.3_1,1 libX11-1.1.3_1,1 libXau-1.0.3_2 libXdmcp-1.0.2_1 libXt-1.0.5_1 pkg-config-0.23_1 xproto-7.0.10_1
WWW:    http://www.nt.phys.kyushu-u.ac.jp/shimizu/download/download.html

За утилитку благодарим японца Накамуру Казуши (Nakamura Kazushi). И хотя mbmon поддерживает далеко не весь спектр материнских плат, продающихся нынче на рынке компьютеров, если у Вас материнка Asus на чипах Intel, mbmon должен с ней работать.

Ставим mbmon без GUI:

# cd /usr/ports/sysutils/mbmon
# make install clean

Рекомендую сразу же ознакомиться с файлом /usr/ports/sysutils/mbmon/pkg-descr

Это графическая/консольная мониторилка материнских плат, которая поддерживает
LM78/79, WINBond 83781D/83782D/83783S, ASUS 991227F, и VIA VT82C686A/B PC-health
чипы посредством трех способов: через шины ISA-I/O, SMBus, VIA-direct.

Запустите "mbmon -h" или "xmbmon -help" чтобы увидеть подсказки по использованию.

***ВНИМАНИЕ***.

Эта программа получает доступ к шине SMBus или же к порту ввода-вывода ISA напрямую
с привелегиями суперпользователя и потому может вызвать падение системы.
Пожалуйста, протестируйте программу сначала в режиме отладки запустив ее с ключом:
 "mbmon -d" (или "xmbmon -debug" для GUI версии).

Напугал дядько. Попробовал я запустить ее в режиме "mbmon -d" - нифига страшного не случилось, потому сел читать ман.

mbmon(1)                                                              mbmon(1)

ИМЯ
       mbmon - программа-монитор материнской платы

ПОЯСНЕНИЕ
       mbmon [опции] <секунд для паузы> (по-умолчанию 5 секунд)

       Эта страница  кратко поясняет  использование команды  mbmon. Мануал был
       написан для  дистрибутива Debian, потому что оригинальная программа его
       не имела.       

       Большинство материнских плат производятся со встроенной функцией для
       мониторинга температуры процессора, частоты вращения куллера процессора и
       т.д. Большинство программ, предназначенных для мониторинга этих параметров
       разработаны для платформы MS Windows и, судя по всему, не существует
       подобных программ для PC-UNIX и для ИКСов (X Windows System).
       А это не есть хорошо!   

       mbmon используется для генерации в командной строке отчетов о температуре,
       напряжении и частоте (оборотах в минуту) вращения куллеров. Его также можно
       использовать удаленно через телнет - спасибо опции -P

ОПЦИИ
       -h     Показать все возможные опции.

       -V, -S, -I, -A
              Выбор метода доступа к "железу"
       	      (соответственно:
              "VIA686  HWM  directly"|"SMBus"|"ISA I/O port"|"All this methods").

       -d     Режим отладки (все опции, кроме (V|S|I) будут игнорированы).

       -e [0-2]
              установка дополнительного датчика температуры к секциям temp.
              Требует -A.

       -p "чип"
              Для зондирования чипов.
              "чип"=win-bond|wl784|via686|it87|gl52|lm85|lm80|lm90|lm75

       -Y     Опция для материнских плат Tyan Tiger MP/MPX

       -f     Отображать температуру в градусах по Фаренгейту.

       -c число_раз
              Снять показания <число_раз> и выйти.

       -P порт
              Запуститься в режиме даемона и слушать указанный порт
              для подключения клиентов.

       -T|F [1-7]
              печатать Temperature|Fanspeed используя следущий стиль вывода:
                      стиль1: значения1
                      стиль2: значения2
                      стиль3: значения3
                      стиль4: значения10ata2
                      стиль5: значения10ata3
                      стиль6: значения20ata3
                      стиль7: значения10ata20ata3

       -r     Печатать ТЭГ (например, TEMP : ) и его значение.
       -u    Вывод аптайм системы.
       -t    Вывод текущего времени в системе.
       -n, -N Вывод имя хоста (длиное|короткое соответственно).
       -i     Печатать числа в сумме (используется с опцией -T).

ПРИМЕРЫ
       mbmon -P 11000; telnet localhost 11000; sudo killall mbmon
       mbmon -c1
       mbmon 1 (yeah, real time baby !)

СМОТРИТЕ ТАКЖЕ
       /usr/local/share/doc/mbmon/*

АВТОР
       Этот мануал написал Николас Руев (Nicolas Rueff),
       для проекта Debian (но может быть использован и другими).

                               10 ноября, 2003                      mbmon(1)

Мануал - это конечно хорошо, но перейдем к практике. Как видно из man'а, mbmon может работать в режиме даемона и выдавать показания по телнет. Это может пригодиться, если у Вас несколько машин в сети, на которых следует мониторить температуру. Но я буду использовать mbmon в режиме единоразового запуска.

Путем недолгих экспериментов я выяснил, что с моей материнкой ASUS P4P800-MX) mbmon будет работать в режиме "ISA I/O port". Другие способы не поддерживаются. Составим необходимую команду:

# mbmon -c 1 -r -I -u -t -n
TEMP0 : 41.0
TEMP1 : 49.0
TEMP2 : 48.0
FAN0  :    0
FAN1  : 3013
FAN2  :    0
VC0   :  +1.42
VC1   :  +3.17
V33   :  +3.39
V50P  :  +5.05
V12P  : +11.49
V12N  : -14.92
V50N  :  -7.71
Mon Apr  6 12:16:10 EEST 2009
12:16pm  up  9:38
daemony.org

Согласно документации, здесь мы имеем:

  • TEMP0 - показания температурных датчиков на материнской плате;
  • TEMP1 - показания температурных датчиков центрального процессора;
  • TEMP2 - показания температурных датчиков чипов на материнской плате.

Кроме этого, из полученных параметров мы можем извлечь также значения напряжений в той или иной точке системы (для более подробного разбирательства читаем документацию). А пока, полученных циферок вполне достаточно, чтобы автоматизировать процесс мониторинга температуры и визуализировать его в виде наглядных графиков. Но об этом в следущей публикации.

P.S.: Попробуйте запустить тулзовину так: "mbmon -c 1000  -r -I | grep TEMP1"

UPD: для отчета

mbmon был установлен сразу после того, как я "завел" систему после первого дауна (на рис. период "1") и тоже сказал, что температура процессора около 75 градусов... Значит можно считать, что датчики на материнской плате не врут и показания снимаются верно.

Падение сервера 2009-04-05

Даунтайм в период "2" на рисунке - это процесс чистки от пыли и грязи. Таким образом в прошлую ночь получилось два даунтайма с интервалами в один час и полчаса.

По мотивам:

http://hottab.ru/freebsd/monitoring-tem ... u-freebsd/
http://www.opennet.ru/openforum/vsluhfo ... 70287.html
viewtopic.php?f=3&t=13866#p126783 Материал взят: http://daemony.org/freebsd/mbmon-utility.html

Опции запуска:
mbomn -I 1

mbmon -I -c 1 -r

TEMP0 - показания температурных датчиков на материнской плате
TEMP1 - показания температурных датчиков центрального процессора
TEMP2 - показания температурных датчиков чипов на материнской плате

mbmon -I -c 10 -T 2 2
А так можно посмотреть температуру процессора в реальном времени с шагом в две секунды

Главная > Программы > mbmon