Para monitorar / recuperar o controle de um servidor "instável" / starver, aconselho usar um hardware ou, na falta dele, um watchdog de software; no Debian você pode instalá-lo com:
sudo apt-get install watchdog
Em seguida, edite /etc/watchdog.conf
e adicione limites ou testes; No topo da minha cabeça, o watchdog também é ativado de tal forma que, se o kernel não o visualizar por um bom tempo, ele será reinicializado. por exemplo. se uma rotina de software não fala em um tempo fixo com /dev/watchdog0
ou algo semelhante.
Por exemplo, você pode definir limites de carga em /etc/watchdog.conf
:
max-load-1 = 40
max-load-5 = 18
max-load-15 = 12
Esteja ciente também de que alguns painéis / chipsets vêm com watchdogs integrados; se não estou errado, o braço A20 é um deles.
De man watchdog
The Linux kernel can reset the system if serious problems are detected. This can be implemented via special watchdog hardware, or via a slightly less reliable software-only watchdog inside the kernel. Either way, there needs to be a daemon that tells the kernel the system is working fine. If the daemon stops doing that, the system is reset.
watchdog is such a daemon. It 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 the reset. In the case of the software watchdog the ability to reboot will depend on the state of the machines and interrupts.
The watchdog 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.
veja também Raspberry Pi e Arduino: Construindo sistemas confiáveis com WatchDog Timers