Reinicia o sistema se ficar sem memória?

4

Eu preciso executar alguns testes pesados de memória em um computador remoto por meio do SSH. Da última vez que fiz isso, o computador parou de responder e foi necessário que alguém o reiniciasse fisicamente.

Existe uma maneira de configurá-lo para que o sistema seja reiniciado em vez de congelar se muita memória estiver sendo usada? (Eu tenho acesso root). A versão do kernel é 4.9.0.

    
por devil0150 24.05.2017 / 17:05

1 resposta

5

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

    
por 24.05.2017 / 17:44