O ajuste gratuito que faz o Linux reiniciar quando o sistema trava

Quem mantém um Linux em casa ou no trabalho sabe que quase tudo roda bem até o momento em que a máquina congela. Nessa hora, um pequeno serviço chamado Watchdog pode evitar deslocamentos desnecessários e reduzir o tempo fora do ar. Ele acompanha o estado do sistema e reinicia a máquina se detectar que tudo parou de responder. Como a ferramenta é livre e já vem nos repositórios das principais distros, o custo é zero.

O que o Watchdog faz

O software monitora o sistema com um temporizador simples, mas eficiente, para checar se o kernel continua ativo. Quando outro processo deixa de alimentar esse temporizador, o Watchdog entende que houve um travamento. Em ambientes de servidor, isso pode recuperar um serviço sem intervenção manual. Em desktops remotos, também ajuda quando o acesso só é possível pela rede.

This simple Linux tweak fixes crashes automatically - and it costs me nothing | ZDNET
Imagem: Divulgação / Reprodução

Principais pontos

  • Se o Linux congelar, o Watchdog pode reiniciar a máquina automaticamente.
  • A versão por software funciona na maioria dos sistemas Linux.
  • A versão de hardware é mais confiável, mas exige suporte específico.
  • O serviço é gratuito e pode ser ativado com poucos comandos.

Existe versão de software e versão de hardware. A de hardware é mais confiável, mas depende de suporte específico da placa ou do equipamento. A de software funciona em mais computadores e costuma ser suficiente para uso doméstico, laboratórios e muitos servidores. Se você quer algo prático, a alternativa por software já entrega bastante valor.

Instalando o Watchdog

O pacote costuma estar nos repositórios oficiais de Ubuntu e Fedora, e no Arch a instalação passa por uma ferramenta extra. Antes de começar, você precisa de um usuário com permissões de sudo. Depois da instalação, o próximo passo é carregar o módulo de kernel responsável pelo dispositivo virtual. A partir daí, a configuração fica bem mais direta.

Comandos de instalação

  • Ubuntu: sudo apt-get install watchdog -y
  • Fedora: sudo dnf install watchdog -y
  • Arch: yay -S watchdog

Depois da instalação, carregue o módulo softdog para criar a base do monitoramento. Em seguida, confirme que o módulo apareceu na lista do kernel e que o dispositivo virtual foi criado. Se o sistema enxergar /dev/watchdog, você já passou da etapa mais importante. Quando isso não acontece, normalmente o problema está na carga do módulo ou na ausência de suporte adequado.

Carregando o módulo no boot

Para não depender de ativação manual a cada reinicialização, faça o softdog subir junto com o sistema. Em muitas distribuições, isso pode ser resolvido com um arquivo simples no diretório de carregamento do kernel. O objetivo é garantir que o Watchdog continue disponível depois de cada reboot. Sem essa etapa, o serviço perde a utilidade assim que a máquina reinicia.

  • Carregar agora: sudo modprobe softdog
  • Verificar: lsmod | grep softdog
  • Checar o dispositivo: ls -la /dev/watchdog
  • Persistir no boot: /etc/modules-load.d/softdog.conf
  • Conteúdo do arquivo: softdog

Configurando o serviço

Depois de instalar, abra o arquivo principal de configuração e ajuste as opções que controlam o dispositivo, o intervalo de checagem e o tempo limite. O padrão costuma vir comentado, então você precisa remover o caractere de comentário para ativar as linhas certas. Se a linha de timeout não existir, vale incluí-la manualmente. Quando isso estiver salvo, o serviço poderá iniciar sozinho em cada boot.

  • Arquivo: sudo nano /etc/watchdog.conf
  • Ative: watchdog-device = /dev/watchdog
  • Ative: interval = 1
  • Ative: watchdog-timeout = 20
  • Opcional: realtime = yes
  • Opcional: priority = 1

Em seguida, habilite e inicie o serviço com o systemd para não depender de ações manuais. Isso garante que o monitor fique ativo logo após o boot e continue observando o sistema em segundo plano. Se o Linux travar mais tarde, o Watchdog fará a correção sem pedir sua intervenção. Em boa parte dos casos, esse comportamento já resolve o problema de máquina inacessível.

  • Ativar o serviço: sudo systemctl enable –now watchdog

Testando o reinício automático

Se você quiser validar a configuração, pode provocar uma pane controlada em uma máquina de teste. O objetivo é observar se o Watchdog reage e reinicia o sistema dentro do tempo definido. Faça isso apenas em um ambiente que você possa derrubar sem impacto. Em produção, o teste deve ser planejado com cuidado.

  • Ativar sysrq: sudo sysctl -w kernel.sysrq=1
  • Entrar como root: sudo su –
  • Forçar travamento: echo c > /proc/sysrq-trigger

Depois do comando final, o sistema deve ficar sem resposta e o Watchdog precisa reiniciar a máquina. Se isso acontecer, a configuração está funcionando como esperado. Caso contrário, vale revisar se o módulo foi carregado e se o serviço realmente subiu no boot. Também compensa checar se o dispositivo /dev/watchdog existe.

Método de hardware com systemd

Quem tem watchdog de hardware pode integrar esse recurso ao systemd para ganhar uma camada extra de confiabilidade. Nesse cenário, o sistema operacional conversa com o hardware e mantém o temporizador ativo. A vantagem é que a checagem fica menos dependente de software. Quando o suporte existe na máquina, essa costuma ser a opção mais robusta.

  • Arquivo: sudo nano /etc/systemd/system.conf
  • Defina: RuntimeWatchdogSec=30
  • Defina: RebootWatchdogSec=10min
  • Defina: WatchdogDevice=/dev/watchdog

Depois de salvar, recarregue a configuração do systemd para aplicar as mudanças. Em seguida, o hardware passa a ser monitorado com os valores escolhidos. Esse ajuste não depende de um grande esforço técnico, mas aumenta a chance de recuperação automática. No fim, o computador fica mais tolerante a travamentos inesperados e menos dependente de intervenção manual.

  • Recarregar daemon: sudo systemctl daemon-reload