swappiness afeta apenas se a memória do aplicativo alocada é trocada para liberar espaço para o cache. vfs_cache_pressure é o sysctl que controla o que você está vendo.
Olhando como o cache do VFS na minha máquina Linux se comporta, posso ver que, mesmo quando efetivamente ocioso (o crond e a maioria dos outros daemons pararam, interfaces inativas) a quantidade de memória livre aumenta gradualmente, implicando que itens estão sendo despejados do cache .
Eu fiz muito googling, mas não encontrei nenhuma referência sobre como isso é controlado (a menos que seja um efeito colateral de vm_swappiness). Alguém pode me colocar no caminho certo para entender por que os itens estão sendo despejados do cache quando não há demanda por nova alocação de memória?
swappiness afeta apenas se a memória do aplicativo alocada é trocada para liberar espaço para o cache. vfs_cache_pressure é o sysctl que controla o que você está vendo.
O Linux libera os dados do cache de páginas usando um processo chamado pdflush
O pdflush é controlado por parâmetros de / proc / sys / vm
#/proc/sys/vm/dirty_expire_centisecs
The hundredth of the second after which data will be considered to be expired from the page cache and will be written at the next opportunity.
#/proc/sys/vm/dirty_writeback_centisecs'
The hundredth of a second after which the pdflush wakes up to write data to disk.
#/proc/sys/vm/vfs_cache_pressure'
This will reclaim dentries and inodes which are also part of the cache.
Você pode conferir os seguintes tópicos para mais informações:
O daemon pdflush
Teoria de operação e ajuste para cargas pesadas de gravação
Memória cache do Linux