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çãomin_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 demin_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
, or3
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 osync
antes de configurar este valor de parâmetro.Importante
O uso dodrop_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/.