Nessa dica vou mostrar como podemos melhorar o desempenho do nosso sistema
Linux de modo prático mas não espere ums super ultra mega melhora pois vai depender de máquina para máquina. Se você quer uma melhora realmente significativa coloque mais memória RAM e/ou um disco SSD na sua máquina. Há um artigo meu para melhora de boot que pode ser visto aqui:
Melhorando o tempo de boot do Fedora e outras distribuições
Sempre lembrando que é necessário prestar atenção aos comandos para não dar problemas; mesmo assim, são reversíveis. Vamos começar com o arquivo fstab:
sudo nano /etc/fstab
O arquivo fstab deve ter mais ou menos o seguinte em uma instalação padrão (partição / e partição de boot):
# Static information about the filesystems.
# See fstab(5) for details.
# file system dir type options dump pass
# /dev/sda2
UUID=0afafb4a-00dd-4263-8898-0ede229cd8fc / ext4 rw, 0 1
# /dev/sda1
UUID=FA19-6BBD /boot vfat rw,relatime,fmask=0022,,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 2
Vamos mexer na linha e deixá-la assim:
UUID=0afafb4a-00dd-4263-8898-0ede229cd8fc / ext4 rw,noatime,commit=60 0 1
Salve o arquivo com CTRL mais a tecla da letra o e feche o arquivo com CTRL mais a tecla da letra X. O item UUID não deve ser mexido (é exclusivo de cada máquina), apenas inclua a opção de "noatime" e "commit=60". Essas opções reduzem a carga de entrada/saída de dados no disco rígido (noatime) e aumenta o intervalo de atualizações de metadados do buffer de memória para o disco (commit=60) MAS pode aumentar a possibilidade de perda de dados no caso de arquivos abertos (como na edição de arquivos de texto ou gravação/edição de vídeo) caso o sistema trave ou reinicie.
O próximo item é em relação àquelas mensagens de, quando estamos ligando ou desligando a máquina, pode ocorrer aparecer uma linha com uma contagem de tempo que mostra o tempo que determinado serviço está levando para iniciar/desligar e isso pode ser um incômodo. Vamos limitar então o tempo esperado e a repetição dos mesmos. Edite o arquivo:
sudo nano /etc/systemd/system.conf
Procure pelos itens abaixo e deixe-os conforme mostrado:
DefaultTimeoutStartSec=30s
DefaultTimeoutStopSec=30s
DefaultTimeoutAbortSec=5
DefaultDeviceTimeoutSec=30s
DefaultStartLimitIntervalSec=5s
DefaultStartLimitBurst=2
Esses itens vão mudar o valor padrão de 90s para 30s o tempo de espera para iniciar ou desligar serviços, o tempo de espera entre as tentativas de início e finalização do comando e o número de tentativas antes do sistema fechar "na marra" o serviço que está de "serviçagem".
O último item é em relação ao escalonador de disco, que é usado para otimizar o desempenho do disco com a redução da latência e aumento da taxa de transferência. Há basicamente 3 tipos: mq-deadline (discos SSD), bfq (discos HDD) e kyber. Basicamente o sistema escolhe a melhor opção na instalação mas ela fica "fixa", se o usuário trocar de disco via clonagem de um HDD para SSD o escalonador vai continuar o mesmo. Para saber qual o seu escalonador, digite o comando abaixo; o escalonador estará entre dois colchetes ([ ]):
cat /sys/block/sda/queue/scheduler
none mq-deadline kyber [bfq]
Vamos criar então o arquivo:
sudo nano /etc/udev/rules.d/60-ioschedulers.rule
Cole o seguinte conteúdo:
# define o escalonador para NVMe
ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/scheduler}="none"
# define o escalonador para SSD e eMMC
ACTION=="add|change", KERNEL=="sd[a-z]|mmcblk[0-9]*", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="mq-deadline"
# define o escalonador para discos rotativos
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq"
Salve o arquivo e reinicie a máquina. Se alguma das configurações der algum problema, basta fazer a reversão, o que foi adicionado/modificado deverá ser retirado/voltar ao valor inicial e o que foi criado deverá ser apagado. Tudo foi testado com sucesso em várias máquinas com Arch Linux, Debian, Fedora e Opensuse TumbleWeed.