Документация по ОС FreeBSD Среда, 08.05.2024, 23:32
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Мои статьи [0]
Установка и настройка [281]
X Window [25]
Man pages [30]
Ports & Packages [26]
cvs [18]
Multimedia [20]
Нововсти в мире Unix [0]
RFC [4]
RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Безопасность [52]
Работа с железом [58]
Книги по FreeBSD [17]
Сеть [505]
Программирование [40]
FireWall [58]
Темы экзамена BSDA [14]
Официальные темы экзамена BSDA, включая подробноые описания и советы по обучению.

Главная » Статьи » Работа с железом

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

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

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

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

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

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

Что нам нужно для мониторинга температуры? Две вещи: то, что будет эту температуру снимать с датчиков и то, что будет ее визуализировать, например, отрисовывая в красивых графиках. Второе - это конечно же 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 версии)
.

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

Мануал - это конечно хорошо, но перейдем к практике. Как видно из 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://live.daemony.org/freebsd/mbmon-utility.html
Категория: Работа с железом | Добавил: oleg (21.07.2009) | Автор: Daemony
Просмотров: 1861 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024