5.5. Ajustando Memória Virtual

A memória virtual é geralmente consumida pelos processos, caches de sistema de arquivo e kernel. O uso da memória virtual depende de uma série de fatores, que podem ser afetados pelos seguintes parâmetros:
swappiness
Um valor de 0 à 100 que controla o grau para o qual o sistema altera. Um valor alto dá prioridade ao desempenho do sistema, alterando os processos de forma agressiva fora da memória física quando eles não estão ativos. Um valor baixo dá prioridade à interação e evita processos de alteração fora da memória física o quanto de tempo for possível, o que diminui a latência de resposta. O valor padrão é 60.
min_free_kbytes
O número mínimo de kilobytes para manter livre em todo o sistema. Este valor é usado para calcular um valor de marca d'água para cada zona de baixa memória, que recebem um número de páginas livres reservadas proporcionalmente ao seu tamanho.

Atenção

Seja cauteloso ao configurar este parâmetro, pois tanto valores muito baixos como muito altos podem causar danos.
Configuração min_free_kbytes muito baixo previne o sistema de reclamar memória. Isto pode resultar em travamento de sistema e processos múltiplos de OOM-killing.
No entanto, configurar este parâmetro para um valor que seja muito alto (5-10% do total de memória de sistema) causará uma falta de memória em seu sistema imediatamente. O Linux foi criado para utilizar todas as RAM disponíveis para realizar um cache dos dados de sistema de arquivo. Configurar um valor alto de min_free_kbytes resulta em uma perda de tempo quando o sistema reclama memória.
dirty_ratio
Define um valor de porcentagem. Limpeza de dados sujos inicia com (via pdflush) quando os dados sujos comprimem esta porcentagem da memória de sistema total. O valor padrão é 20.
dirty_background_ratio
Define um valor de porcentagem. Limpeza de dados sujos inicia no pano de fundo (via pdflush) quando os dados sujos comprimem esta porcentagem da memória de sistema total. O valor padrão é 10.
drop_caches
Configurar este valor para 1, 2, or 3 faz com que o kernel derrube diversas páginas de combinação cache e cache de slab.
1
O sistema invalida e libera todas as memórias de cache de página.
2
O sistema libera toda a memória não utilizada de cache de slab.
3
O sistema libera toda a memória de cache de página e cache de slab.
Esta não é uma operação destrutiva. Como os objetos sujos não podem ser liberados, recomenda-se executar o sync antes de configurar este valor de parâmetro.

Importante

O uso do drop_caches para liberar memória não é recomendado em um ambiente de produção.
Para definir estes valores temporariamente durante o ajuste, copie o valor desejado no arquivo apropriado no sistema de arquivo proc. Por exemplo, para definir swappiness temporariamente para 50, execute:
# echo 50 > /proc/sys/vm/swappiness
Para configurar este valor persistentemente, você irá precisar usar o comando sysctl . Para mais informações consulte o Deployment Guide, disponível em http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/.