[ Dica/Tuto ] Otimizar systemd pelo arquivo /etc/systemd/system.conf

Otimizar o arquivo /etc/systemd/system.conf permite reduzir o tempo de inicialização (boot), agilizar o encerramento de serviços e evitar que processos travem por longos períodos. As alterações otimizam o desempenho do sistema operacional para casos de uso comuns.

  1. Preparação

Antes de editar, crie um backup do arquivo original para garantir que você possa reverter as alterações caso necessário:

sudo cp /etc/systemd/system.conf /etc/systemd/system.conf.backup
  1. Edição do Arquivo

Abra o arquivo com seu editor de texto de preferência (por exemplo, nano ou vim) com privilégios de administrador:

sudo nano /etc/systemd/system.conf
  1. Configurações Sugeridas

No arquivo, localize as linhas abaixo. Se elas estiverem comentadas (com # no início), remova o #. Se não existirem, adicione-as dentro da seção [Manager]:

[Manager]
DefaultTimeoutStartSec=30s
DefaultTimeoutStopSec=30s
DefaultTimeoutAbortSec=5s
DefaultDeviceTimeoutSec=30s
DefaultStartLimitIntervalSec=5s
DefaultStartLimitBurst=2

O que cada parâmetro faz:

  • DefaultTimeoutStartSec / DefaultTimeoutStopSec: Reduz o tempo de espera padrão de 90 segundos para 30 segundos, acelerando o boot e o desligamento do sistema ao aguardar serviços responderem. Aqui deixei em 3s

  • DefaultTimeoutAbortSec: Define o tempo máximo de 5 segundos para o systemd abortar (forçar a parada) um serviço que não responde no desligamento.

  • DefaultDeviceTimeoutSec: Limita em 30 segundos o tempo de busca por dispositivos pendentes (como discos desconectados ou partições de rede) durante o boot.

  • DefaultStartLimitIntervalSec / DefaultStartLimitBurst: Limita as tentativas de reiniciar um serviço falho. O systemd não tentará reiniciar um serviço por mais de 2 vezes dentro de um intervalo de 5 segundos.

  1. Salvando e Aplicando

Após fazer as alterações, salve o arquivo (no nano, Ctrl+O, Enter, depois Ctrl+X para sair). Para aplicar as novas configurações sem precisar reiniciar a máquina, rode o comando:

sudo systemctl daemon-reexec
4 curtidas

Basicamente seria reduzir / ativar os tempos limites de inicio e fim dos serviços.

Agora fiquei curioso, qual seria a diferença de sudo systemctl daemon-reexec e sudo systemctl daemon-reload

2 curtidas

Dos processos e serviços

systemctl daemon-reload

Ele recarrega todas as unidades (units) services,mount etc…

systemctl daemon-reexec

Ele salva o estado atual do sistema na memória, encerra o processo principal do systemd (PID 1) e executa o binário do systemd novamente do zero, restaurando o estado salvo. Ele funciona como um “reboot” exclusivo para o gerenciador de processos, sem reiniciar a máquina inteira.. Basicamente encerra o processo e inicia outro

1 curtida

Boa @swatquest! só dica top!

Pela pesquisa que fiz aqui pode também fazer de outra forma, que faz parte da boa prática para configurar e realizar alterações. Como fiz aqui no Debian 13:

Crie a pasta de customização:

sudo mkdir -p /etc/systemd/system.conf.d

Crie um arquivo contendo apenas as modificações:

sudo nano /etc/systemd/system.conf.d/timeouts.conf

Pelo que testei aqui, fazendo dessa forma usando o “sudo systemctl daemon-reload” aparentemente funcionou.

Para conferir todas se configurações foram aplicadas:

systemctl show | grep -E "Timeout|Restart"

Aqui deixei dessa forma:

[Manager]
# Reduz o tempo máximo de espera para o encerramento de serviços travados
DefaultTimeoutStopSec=10s

# Garante tempo suficiente para inicialização de serviços pesados no boot
DefaultTimeoutStartSec=30s

# Define o tempo limite para serviços que travam durante a execução normal
DefaultTimeoutAbortSec=10s

# Tempo limite para montagem e detecção de discos/dispositivos USB/Network
DefaultDeviceTimeoutSec=15s

# Intervalo padrão de espera rápida antes de reiniciar um serviço falho
DefaultRestartSec=2s

Abrass e valeu! :penguin:

2 curtidas