URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 55483
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Мониторинг аппаратных проблем в  x8..."

Отправлено auto_tips , 06-Июн-09 00:53 
Для мониторинга аппаратных проблем в 64-разрядных сборках Linux удобно использовать пакет mcelog,
анализирующий MCE (Machine Check Exception) состояние в CPU AMD и Intel, которое может указать на
проблемы с памятью и с кэшем CPU, ошибки обмена данными между CPU и чипсетом материнской платы.

В RHEL / CentOS / Fedora Linux ставим нужный пакет (работает только с 64-разрядной сборкой ядра):

   # yum install mcelog

В Debian / Ubuntu :

   # apt-get install mcelog


Прописываем запуск mcelog в crontab для пользователя root:

   */5 * * * *   /usr/sbin/mcelog --ignorenodev --filter >> /var/log/mcelog

Проверяем лог:

   # tail -f /var/log/mcelog
   # grep -i "hardware error" /var/log/mcelog
   # grep -c "hardware error" /var/log/mcelog

Для автоматической отправки предупреждения в случае проблем в вызов из crontab нужно добавить:

    [ $(grep -c "hardware error" /var/log/mcelog) -gt 0 ] && echo    "Hardware Error Found $(hostname) @ $(date)" \
    | mail -s 'H/w Error' pager@example.com


URL: http://www.cyberciti.biz/tips/linux-server-predicting-hardwa...
Обсуждается: http://www.opennet.me/tips/info/2087.shtml


Содержание

Сообщения в этом обсуждении
"Мониторинг аппаратных проблем в  x86_64 сборке Linux"
Отправлено pavlinux , 06-Июн-09 00:53 
Угу, только не забыть указать ядру при загрузке,

mce=3

Дабы всё узнать о своём железе

А для для AMD ещё и

mce=bootlog  

так как для амд их (эксепшоны) отключают при загрузке


И чё самое интересное, MCE появилось на Pentium PRO, Pentium II и AMD K6..., и это совсем не фишка x86_64


"Мониторинг аппаратных проблем в  x86_64 сборке Linux"
Отправлено pavlinux , 06-Июн-09 01:42 
А так же,

Каждый логический процессор в системе, имеет директорию

/sys/devices/system/machinecheck/machinecheckN
(где N - номер процессора)

Эти директории содержат файлы для динамической конфигурации, а именно:

* bankNctl

Содержит 64-х битную маску, включающая или отключающая определенные сообщения,
об исключениях, для текущего ЦПУ. Если все биты маски равны нулю, тогда никакие
сообщения не выдаются.

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

* check_interval

Интервал опроса процессора, в минутах, по умолчанию 5 минут.

* tolerant
Уровни толерантности:

0: Всегда генерировать panic на неисправимых ошибках или записывать в лог исправленные.
1: Генерировать panic или ошибку шины (SIGBUS) на неисправимых ошибках или записывать
    в лог исправленные.
2: Генерировать ошибку шины (SIGBUS) на неисправимых ошибках или записывать в лог исправленные.
3: НИКОГДА не генерировать panic или ошибку шины (SIGBUS), а только записывать лог
(использовать только для тестирования)

По умолчанию: 1

И самое интересный конфиг MCE это  

* trigger

Программа которая будет запущена, когда в sysfs появляется какое-либо событие от MCE.

Например запуск вывода на консоль, экран, или отправка почты

# echo 'mail -t root -s "MCE EVENT: `date "+%m.%d.%Y - %H:%M:%S"`"' > \
                    /sys/devices/system/machinecheck/machinecheck0/trigger

Именно использование trigger удобнее, так как не надо дёргать крон каждые 5 минут.

Так, выше кем-то скопипастенные команды, запишем в триггер, дабы освободить крон

# export MCE_TRIGGER="/sys/devices/system/machinecheck/machinecheck0/trigger"
# echo '/usr/sbin/mcelog --ignorenodev --filter >> /var/log/mcelog' > $MCE_TRIGGER;


"Мониторинг аппаратных проблем в  x86_64 сборке Linux"
Отправлено prapor , 06-Июн-09 12:18 
Спасибо, занятное HOWTO :)

"Мониторинг аппаратных проблем в  x86_64 сборке Linux"
Отправлено pavlinux , 06-Июн-09 19:16 
Ну и от себя, если у Вас появляются ошибки, которые выдаёт MCE,
надо срочно задуматься о выявлении причины и замене сбойного железа
или фирмвари, если железо прошиваемое.


"Мониторинг аппаратных проблем в  x86_64 сборке Linux"
Отправлено i , 10-Июн-09 12:16 
у меня при высокой загрузке CPU линукс паникует
CPU context corrupt что то там... отключил пока MCE добавив nomce при загрузке. Пока все ок.
Разгон проца может влиять ?
PS перегрева точно нет.

"Мониторинг аппаратных проблем в  x86_64 сборке Linux"
Отправлено pavlinux , 10-Июн-09 14:39 
>у меня при высокой загрузке CPU линукс паникует
>CPU context corrupt что то там... отключил пока MCE добавив nomce при
>загрузке. Пока все ок.
>Разгон проца может влиять ?

Может, может...
Память тоже разогнал?


Вот тут утиль, http://www.codemonkey.org.uk/cruft/parsemce.c
Парсит на человеческий язык логи МСЕ



"Мониторинг аппаратных проблем в  x86_64 сборке Linux"
Отправлено i , 10-Июн-09 15:34 
не память не трогал, работает на заявленной частоте 1066
а CPU c 2.66 -> 3.33

"Мониторинг аппаратных проблем в  x86_64 сборке Linux"
Отправлено pavlinux , 10-Июн-09 22:51 
>не память не трогал, работает на заявленной частоте 1066
>а CPU c 2.66 -> 3.33

Дык это ж на 25% от номинала.... сдохнет до играешься... не более 12%