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 desempenho de uso da memória RAM e do disco
Aqui vamos ver algumas configurações para melhorar o uso da RAM e do disco. De um modo geral, as configurações que já vem no sistema são as ideais para a maioria das situações mas há aquele usuário que gosta de ter o máximo de desempenho de seu sistema sem, claro, deixá-lo instável. Primeiro vamos às configurações de uso da RAM. Há dois parâmetros que podem ser configurados no kernel.
vm.swappiness (o comando para ver o valor é sem as aspas "sysctl vm.swappiness")
O item acima configura a prioridade de uso da "memória" SWAP, seja ela em partição ou em bloco de RAM via ZRAM. O valor padrão é 60. Você pode mudar esse parâmetro baixando para próximo de 0 (10 ou 20) caso você tenha bastante memória RAM (algo como 16GB) e dar então prioridade de uso para a RAM em vez da SWAP ou então, no caso de pouca memória RAM (4GB ou menos) pode ficar mais interessante usar valores mais próximos de 100. O problema de se dar prioridade de uso da SWAP em discos comuns é que o acesso é mais lento, daí pode ser interessante o uso do recurso de ZSWAP que é usar blocos de memória RAM como SWAP, muito mais rápida do que um disco comum. Claro que, para isso, você tem que ter RAM suficiente, no mínimo 8GB.
vm.vfs_cache_pressure (o comando para ver o valor é sem as aspas "sysctl vm.vfs_cache_pressure")
Se voce rodar o comando sem as aspas "free -h" vai ver mais ou menos o seguinte:
free -h total used free shared buff/cache available
Mem: 7,6Gi 2,9Gi 3,5Gi 299Mi 1,7Gi 4,6Gi
Swap: 7,6Gi 0B 7,6Gi
O item "buff/cache" é uma parte da memória RAM que o kernel usa para guardar informações sobre acesso a arquivos e páginas de aplicativos já que carregá-los em memória é muito mais rápido do que ficar acessando esses dados direto no disco. Esse "buffer" não é contado como memória RAM usada pois esse espaço é continuamente alterado em tamanho de acordo com a necessidade de memória RAM do sistema e o parâmetro "vm.vfs_cache_pressure" define qual lado (acesso a arquivos ou página de aplicativos) tem mais prioridade. O valor padrão é 100 e serve para a maioria dos usuários mas você pode alterar esse componente. Valores abaixo de 100 dão prioridade ao acesso a arquivos e é bom para usuários que vivem abrindo, fechando e copiando arquivos no sistema. Já valores maiores que 100 dá prioridade ao cache de páginas de aplicativos e é bom para quem usa a máquina com "quinhentos" aplicativos abertos. Entenda como "acesso a arquivos" como um mapeamento de estruturas de dados (como tamanho, tipo, data de criação e alteração ) e nomes de arquivos. Já a "página aplicativos" refere-se a armazenagem de dados de aplicativos em execução, como código executável, pilha e variáveis.
Para mudar essas variáveis, edite o arquivo /etc/sysctl.conf e coloque o seguinte (os números de configuração depende do seu cenário de uso da máquina):
sudo nano /etc/sysctl.conf
#Valores menores de 60 priorizam a RAM; valores maiores que 60 priorizam a SWAP
vm.swappiness=40
#Valores menores que 100 priorizam o cache de arquivos; valores maiores que 100 priorizam as páginas de aplicativos
vm.vfs_cache_pressure=50