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.
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:
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:
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.