Isso é bastante curioso ... enquanto o kernel trocará agressivamente as páginas que não estão em uso para permitir mais cache de disco, ele normalmente não fará isso até que a maior parte da memória esteja sendo usada para cache.
Eu posso pensar em duas possibilidades aqui:
- A saída
top
que você forneceu foi tomada em um momento em que um grande processo de uso de memória acabou de terminar, deixando uma grande quantidade de RAM não utilizada. A saída de sar decente (de uso de memória e troca) durante um período prolongado confirmaria ou refutaria isso. - Você transformou o knob
swappiness
waaaay , e assim o kernel está seguindo suas instruções alegremente e trocando tudo, ele pode colocar as mãos em prática. Verifique novamente/proc/sys/vm/swappiness
(o padrão é 60) e retroceda se for mais alto do que isso (você também pode defini-lo ainda mais baixo se realmente quiser, mas não me culpe se a sua máquina acabar funcionando como bolas porque não tem nenhum cache de disco).
Além disso, eu não me preocupo com o fato de a máquina ter muitas páginas trocadas - apenas dê mais swap à máquina e deixe que ela faça isso. É quase garantido que o gerenciador de memória do kernel é mais esperto do que você na otimização do uso da memória.