This is a simplified version of the watchdog daemon. Unlike the full watchdog, this daemon run no tests
and only serves to keep the hardware timer refreshed. Typically this is used on system start-up to
provide protection before the services that the full version tests are running, and on shutdown to
continue the refresh while those services are stopped.
If configured so it only opens /dev/watchdog, and keeps writing to it often enough to keep the kernel
from resetting, at least once per minute. Each write delays the reboot time another minute. After a
minute of inactivity the watchdog hardware will cause a reset. In the case of the software watchdog the
ability to reboot will depend on the state of the machines and interrupts.
The wd_keepalive daemon can be stopped without causing a reboot if the device /dev/watchdog is closed
correctly, unless your kernel is compiled with the CONFIG_WATCHDOG_NOWAYOUT option enabled.
Under high system load wd_keepalive might be swapped out of memory and may fail to make it back in in
time. Under these circumstances the Linux kernel will reset the machine. To make sure you won't get
unnecessary reboots make sure you have the variable realtime set to yes in the configuration file
watchdog.conf. This adds real time support to wd_keepalive: it will lock itself into memory and there
should be no problem even under the highest of loads.
On system running out of memory the kernel will try to free enough memory by killing process. The
wd_keepalive daemon itself is exempted from this so-called out-of-memory killer.