43. Configurando "swappiness" e "map_max_count"
Este tutorial é baseado em uma fração de um tutorial disponível no canal A1RM4X: How to optimize Linux Mint for gaming - Ultimate Full Tutorial - Linux Switching series - Part 5. O objetivo é personalizar configurações de como o sistema utiliza a memória para otimizar o desempenho em jogos.
Primeio vamos aprender a consultar esses valores:
$ cat /proc/sys/vm/max_map_count
65530
$ cat /proc/sys/vm/swappiness
60
E agora precisamos entender o que eles representam.
Swapiness

O swappiness é um parâmetro de ajuste em sistemas Linux que determina a tendência do sistema em privilegiar o uso da memória virtual (swap, pagefile) em vez da física (RAM). A memória virtual é uma área de armazenamento no disco rígido que pode ser usada para alocar dados quando a memória física está cheia. O kernel Linux gerencia essa troca de dados entre memória física e virtual de forma automática.
O parâmetro swappiness controla a taxa em que o sistema operacional faz uso da memória virtual. Varia de 0 a 100, sendo 60 o padrão, e indica o peso dado à memória virtual em relação à memória física. Por exemplo, 60 indica que o linux começará a usar a memória swap quando pelo menos 40% da memória física já estiver em uso. Um valor baixo (próximo de 0) indica que o sistema NUNCA utilizará a memória swap, enquanto um valor alto (próximo de 100) indica a preferência pela memória virtual.
Em sistemas com pouca memória RAM, deixar o padrão 60 ou até aumentá-lo para 80, pode ser uma boa medida. Em sistemas com muita RAM sobrando, pode ser interessante baixar para 30, ou até mesmo 10.
max_map_count
O max_map_count contém o número máximo de áreas do mapa de memória que um processo pode ter. As áreas do mapa de memória são usadas como efeito colateral da chamada de malloc (função de alocação de memória na linguagem C), diretamente por mmap e mprotect, e também ao carregar bibliotecas compartilhadas. Embora a maioria dos aplicativos precise de menos de mil mapas, certos programas, especialmente os depuradores malloc, podem consumir muitos deles, por exemplo, até um ou dois mapas por alocação.
Ele não tem um valor máximo, mas todas as distros vêm com esse valor padrão de 65530, com exceção do Arch Linux que recentemente aumentou para 1048576, com o intuito de aprimorar o desempenho em programas com uso intenso de memória, como jogos Windows rodados no Linux via Wine ou via Proton na Steam.
Configurando esses valores
Vamos então criar um arquivo de configuração vazio para inserirmos valores de forma permanente:
$ sudoedit /etc/sysctl.d/80-gamecompatibility.conf
Esse comando abrirá seu editor padrão. No meu caso é o nano.
O arquivo estárá vazio, então vamos inserir duas pequenas configurações:
vm.max_map_count = 1048576 vm.swappiness = 10
Eu tenho 32 GB de RAM, então deixei o swappiness em 10. Agora vamos aplicar essa configuração sem reiniciar a máquina:
$ sudo sysctl --system
Cheque de novo:
$ cat /proc/sys/vm/max_map_count
1048576
$ cat /proc/sys/vm/swappiness
10
Comentários
Postar um comentário