1001Ferramentas
🔧 Dev

Gerador de systemd Service (Avançado)

Cria unit file systemd avançado com Restart, RestartSec, MemoryLimit, CPUQuota, ProtectSystem, ProtectHome e User para hardening.

Unidade do systemd com limites e política de reinício

Uma unidade de serviço do systemd cabe em cinco linhas, mas as que decidem o comportamento em produção quase nunca estão nessas cinco. A política de reinício, o intervalo entre tentativas e os limites de memória e CPU são o que separa um serviço que se recupera sozinho de um que fica reiniciando em laço até derrubar a máquina.

Preencha a descrição, o usuário, o comando e o diretório de trabalho, escolha a política de reinício e os limites, e a página monta a unidade completa com as três seções. A política que quase sempre se quer é reiniciar em qualquer saída, e não apenas em falha — assim o serviço volta mesmo depois de terminar com código zero por engano.

O limite de memória merece uma explicação: ele é aplicado pelo controlador de recursos do kernel, e ultrapassá-lo faz o processo ser encerrado pelo mecanismo de falta de memória. É proteção contra vazamento, não ajuste de desempenho. Já o limite de CPU é proporcional e apenas atrasa o processo quando há disputa, sem encerrá-lo. Depois de escrever a unidade, é preciso recarregar a configuração do systemd para ele enxergar as mudanças.

Perguntas frequentes

Qual política de reinício usar?
Reiniciar sempre é o padrão razoável para serviço que deve estar de pé o tempo todo. Reiniciar só em falha faz sentido quando terminar com sucesso é um estado legítimo, como em tarefa que roda e acaba. Vale sempre acompanhar de um intervalo entre tentativas, senão o serviço entra em laço rápido.
Por que meu serviço para de tentar reiniciar?
Porque o systemd tem um limite de partidas por janela de tempo: ultrapassado, ele desiste e marca a unidade como falha. É proteção contra laço infinito. Ajustar o intervalo entre tentativas costuma resolver melhor do que aumentar o limite, porque ataca a causa em vez do sintoma.
Preciso recarregar o systemd depois de editar?
Precisa: ele mantém as unidades em cache e não relê o arquivo sozinho. O comando de recarregar a configuração é obrigatório após criar ou alterar uma unidade, e depois dele vem o reinício do serviço em si. Esquecer isso é a causa mais comum de mudança que parece não ter efeito.

Ferramentas Relacionadas