Verifique também a sua permuta. Alguém pode ter definido isso alto.
cat /proc/sys/vm/swappiness
Nos servidores RedHat 5, vemos que o top swap de relatórios tem 0k livre. O vmstat mostra a mesma quantidade de troca usada, mas sem paginação. Nós matamos nosso único aplicativo, e o top ainda reporta 100% do swap usado. Se reiniciarmos, o swap vai para 0k usado. Qualquer comentário: estou interpretando top incorretamente? Existe realmente algo na partição swap? Você pode me indicar a documentação que resolveria isso? Podemos corrigi-lo se estiver incorreto?
Atualização: Swappiness está no valor padrão de 60. Para esclarecer o acima, depois de matar nosso aplicativo, nós (ou seja, processos não pertencentes ao SO) não têm nenhum processo executando além do meu shell e top em si, mas continuamos mostrando 0k troca livre. Acredito que o top está relatando informações incorretas, não que não tenhamos espaço de troca livre.
Obrigado.
Verifique também a sua permuta. Alguém pode ter definido isso alto.
cat /proc/sys/vm/swappiness
Só porque você mata o seu maior processo de uso de memória não significa que o kernel irá imediatamente iniciar a troca de páginas do disco. Se essas páginas não estiverem sendo usadas ativamente, elas permanecerão lá até serem referenciadas novamente pelo processo em que essas partes da memória foram trocadas. Swappiness afetará o quão agressivo o kernel é em mover as coisas dentro e fora do swap.
O link tem uma boa discussão sobre o que o swappiness realmente faz e como a mudança pode afetar seu sistema.Como o Charles disse, você pode ter um nível inadequado por algum motivo.
Top normalmente não reporta nenhuma das estatísticas de memória em porcentagens, então vou correr com a suposição de que você mesmo calculou a porcentagem livre. Enquanto estiver no topo, pressione "G3" para mostrar um resumo da memória usada por cada processo. Qual processo está ocupando toda a memória, é o seu aplicativo ou algo que seu aplicativo está usando? Se você pode tentar matar o aplicativo que está ocupando a memória, você deve ver sua memória livre voltar depois de um tempo. Uma vez que o sistema começou a trocar, pode levar algum tempo para se recuperar. Além disso, certifique-se de ter alocado seu sistema RAM física suficiente. Se a sua alocação de memória for inferior a 512MB, considere usar 512MB como sua base mínima, embora isso se aplique somente se o sistema for um convidado virtualizado.