Melhorando o tempo de boot do Fedora e outras distribuições

Nesse artigo vou mostrar como podemos melhorar o desempenho do Linux no Fedora e em outras distribuições de Linux. Tudo foi testado, funciona mas é necessário ter um certo cuidado com os comandos e programas utilizados.

[ Hits: 2.168 ]

Por: Perfil removido em 16/04/2024


Melhorando o tempo de boot do Fedora e outras distribuições



Apesar desse tutorial ter sido escrito para o Fedora (38 e 39) o mesmo pode ser adequado às outras distribuições com a eventual mudança de caminhos ou comandos digitados. No Fedora em uma máquina relativamente antiga (i3 3ª geração) e usando disco comum e sem otimizações, o tempo de boot gira por volta de 1 minuto e 20 segundos usando EXT4 e 1 minuto e 50 segundos usando BTRFS. Então a primeira dica é fazer a instalação no sistema de arquivos EXT4 ou desabilitar a compactação de arquivos que vem ativada por padrão no BTRFS.

Há vários serviços que podem ser desabilitados na inicialização da máquina, alguns cosméticos (como o Plymouth) e outros como geradores de relatórios de erros e envio automáticos. Há outros mas isso vai depender de caso a caso. Vamos ver alguns dos serviços que podem ser desativados. Os mostrados abaixo podem ser desabilitados caso você não queira ou ache desnecessário o envio de relatórios de erros aos desenvolvedores:

abrt-journal-core.service
abrt-oops.service
abrt-pstoreoops.service
abrt-vmcore.service
abrt-xorg.service
abrd.service


Os serviços acima dizem respeito ao sistema de geração de relatórios e envio automáticos. Para desabilitá-los, basta usar o comando:

sudo systemctl disable nome-do-serviço.service

ou, em caso de aparecer uma mensagem de "parece que a unit utiliza outro meio de inicialização" ou algo assim você pode mascarar o serviço para desabilitá-lo:

sudo systemctl mask nome-da-unidade

Caso dê algum erro por desabilitar algum serviço, basta digitar:

sudo systemctl enable nome-do-serviço.service

Por exemplo, para "mascarar" a unit abrtd.service caso ela não aceite o comando disable, use:

sudo systemctl mask abrtd.service

Para "desmarcarar" o serviço:

sudo systemctl unmask abrtd.service

O Plymouth é outro serviço que pode ser dispensado. O Plymouth é aquela tela que aparece durante o boot e antes de entrar no login gráfico e que esconde as linhas de boot que vão e sucedendo enquanto os comandos necessários são executados até entrar o GDM ou SDDM. Itens para desabilitar:

plymouth-quit-wait.service
plymouth-read-write.service
plymouth-start.service


Esses deverão usar o "disable" para poderem ser desabilitados e "mask" para que não sejam encontrados por outros programas e voltarem a ser ativados:

sudo systemctl disable plymouth-quit-wait.service
sudo systemctl disable plymouth-read-write.service
sudo systemctl disable plymouth-start.service


sudo systemctl mask plymouth-quit-wait.service
sudo systemctl mask plymouth-read-write.service
sudo systemctl mask plymouth-start.service


Para listar as unidades "mascaradas":

systemctl list-unit-files --state=masked

UNIT FILE STATE PRESET
plymouth-quit-wait.service masked disabled
plymouth-read-write.service masked disabled
plymouth-start.service masked disabled
3 unit files listed.


Há outras units que podem ser desabilitadas caso você não use determinados componentes, como backlitght da tela (se for desktop), Modem Manager (se você não usar modem) e outras. O comando para listar as units de serviços do sistema é:

systemctl list-units --type=service

Só tenha cuidado em desabilitar algo que não deva, o que está sendo mostrado aqui foi testado em máquina de produção e não ocorreu nenhum tipo de problema. O boot passou de 1 minuto e 20 para cerca de 50 segundos:

systemd-analyze
Startup finished in 4.456s (firmware) + 1.956s (loader) + 1.319s (kernel) + 5.040s (initrd) + 31.865s (userspace) = 44.638s
graphical.target reached after 30.664s in userspace.


    Próxima página

Páginas do artigo
   1. Melhorando o tempo de boot do Fedora e outras distribuições
   2. Melhorando o desempenho de uso da memória RAM e do disco
Outros artigos deste autor

Automatic ACL Blocking List - Sistema automático de listas de bloqueio de ACLs

Instalação OpenMeettings no Debian 7

antiX: uma distro versátil

Convertendo MBR para GPT com gdisk

Trabalhando com permutações em ordem lexicográfica crescente

Leitura recomendada

Configurando VPN com o Hamachi entre Windows e Linux Debian

Instalação do Asterisk - Distribuição Meucci

Arch Linux - Instalação sem complicação

VPN FreeSWan IPSec

Debian 10 com i3 como Gerenciador de Janelas no XFCE

  
Comentários
[1] Comentário enviado por morvan em 17/05/2024 - 11:14h

Ótimo artigo. à guisa de contribuição, já faço, via script, também:

sudo dnf remove initial-setup kdump-anaconda-addon ; rpm -qa "anaconda*" | sudo xargs rpm -ev
for M in dmraid device-mapper-multipath NetworkManager-wait-online ModemManager.service systemd-udev-settle dmraid-activation.service ; do sudo systemctl disable $M ; done ; sudo rpm -ev dmraid libblockdev-dm --nodeps

Morvan, Usuário GNU-Linux #433640. Seja Legal; seja Livre. Use GNU-Linux.

[2] Comentário enviado por maurixnovatrento em 23/06/2024 - 22:28h

Muito bom artigo.
______________________________________________________________________
Inscreva-se no meu Canal: https://www.youtube.com/@LinuxDicasPro
Repositório GitHub do Canal: https://github.com/LinuxDicasPro
Grupo do Telegram: https://t.me/LinuxDicasPro
Meu GitHub Pessoal: https://github.com/mxnt10


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts