Poul-Henning Kamp рассказал о состоянии подсистемы программного watchdog (http://www.freebsd.org/cgi/man.cgi?query=watchdog) в FreeBSD-CURRENT, обеспечивающей перезагрузку системы в случае отрицательного результата периодической проверки (отсутствие сигнала в пределах таймаута).
Для сигнализации ядра о работоспособности системы используется простой демон watchdogd (http://www.freebsd.org/cgi/man.cgi?query=watchdogd), включение программного Watchdog производится через опцию
SW_WATCHDOG в конфигурации ядра.URL: http://ezine.daemonnews.org/200406/watchdog.html
Новость: http://www.opennet.me/opennews/art.shtml?num=4021
Сомнительное какое-то решение. Уж если зависли, то зависли. Кабы он был программно-аппаратным - тогда да, имело бы смысл. А чисто программная реализация - это больше для самоуспокоения.
>Сомнительное какое-то решение. Уж если зависли, то зависли. Кабы он был программно-аппаратным
>- тогда да, имело бы смысл. А чисто программная реализация -
>это больше для самоуспокоения.Не совсем так. В (моей) практике случалось, что user
level software не работает, а ядро -- продолжает. Конкретный
пример, который запомнил: форвардинг пакетов происходил, а
DHCP-сервер, sshd (и наверное все остальное) не работали.Также, думаю, это может помочь при DoS-атаках (типа fork()-бомб и
прочих, т. п., когда более-менее выполняется только код ядра)./poige
--
http://www.i.morning.ru/~poige/
Угу, факт, бывает...
Это бывает редко. Я понимаю термин "завис", как сбой, при котором CPU не выполняет инструкции. А все остальные случаи - это сбои, но не зависания. Так что всё зависит от трактования термина :-)Однако, ведь не сказано, что watchdog средство от зависания, пусть будет - мало ли что бывает.
Пусть будет, только желательно в узер-левел контексте :-)
>Пусть будет, только желательно в узер-левел контексте :-)
а вот об это пиши phk....
>Это бывает редко.Это бывает сплошь и рядом, в отличии от зависании на уровне ядра (таких уже года 3 я не встречал). Последнее забиванние свопа из-за разрастания числа толстых процессов у одного из клиентов было позавчера. Блокирвка из-за ошибки вбивания правил ipfw - это вообще песня, благо имеется change_rules.sh в examples.
Какая версия?
Тогда проще не пользоваться FreeBSD.У меня, слава Богу, такого никогда небыло. Работает всё месяцами, иногда только кофиги правлю.
>Какая версия?
>Тогда проще не пользоваться FreeBSD.FreeBSD и какие-лиюо версии здесь непричем, просто не все обращают внимание на наличие системных лимитов. Самая распространенная причина, число процессов (например, apache+mod+php могут быть достаточно толсыми) достигает того предела, когда возникает потребность в своппинге, дальше как снежный ком, пока весь своп не забъется. Linux в этом случае начинает безжалостно отстреливать процессы, FreeBSD отстреливает только т.е. которым уже не хватает переполненного свопа, поэтому без рукоприкладства или watchdog'а ее из ступора не вывести.
>>Это бывает редко.
>
[...]
> Блокирвка
>из-за ошибки вбивания правил ipfw - это вообще песня, благо имеется
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>change_rules.sh в examples.
^^^^^^^^^^^^^^^^^^^^^а как тебе тут watchdog поможет? :-)
/poige
>>change_rules.sh в examples.>а как тебе тут watchdog поможет? :-)
change_rules.sh - это и есть своеобразный watchdog.
ага (!), вот что имелось в виду... :-)/poige