J'ai un hôte KVM (Linux 3.14.32) qui fait tourner 8 machines virtuelles. Elles sont surprovisionnées (la mémoire qui leur est allouée est supérieure à la mémoire physique disponible sur l'hôte). Cependant, elles ne consomment qu'environ 85% de la mémoire physique, ce qui devrait laisser de la place pour le cache. Cependant, tout ce qui se trouve sur l'hôte est d'une lenteur insupportable et free signale que presque aucune mémoire n'est utilisée pour la mise en cache :
total used free shared buffers cached
Mem: 32224 26767 5457 0 0 3
-/+ buffers/cache: 26762 5461
Swap: 1021 414 607
Comme vous pouvez le voir, 5,5 Go sont gaspillés. Après avoir fermé les VMs, tout revient à la normale - le noyau utilise 260M de cache.
/proc/meminfo :
MemTotal: 32997976 kB
MemFree: 5543224 kB
MemAvailable: 5584332 kB
Buffers: 2612 kB
Cached: 83876 kB
SwapCached: 72524 kB
Active: 24721804 kB
Inactive: 2214632 kB
Active(anon): 24675412 kB
Inactive(anon): 2175048 kB
Active(file): 46392 kB
Inactive(file): 39584 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 1046520 kB
SwapFree: 622068 kB
Dirty: 84 kB
Writeback: 4 kB
AnonPages: 26806104 kB
Mapped: 28436 kB
Shmem: 488 kB
Slab: 60024 kB
SReclaimable: 25076 kB
SUnreclaim: 34948 kB
KernelStack: 3232 kB
PageTables: 62212 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 17545508 kB
Committed_AS: 53713960 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 431560 kB
VmallocChunk: 34359138492 kB
HardwareCorrupted: 0 kB
DirectMap4k: 9728 kB
DirectMap2M: 33536000 kB
J'ai réglé la permutation sur 0. Les images disques de la VM sont sur LVM avec cache=writeback.