Pourquoi le swap est-il utilisé quand beaucoup de memory est encore libre?

Dans le server 2.6.18 Linux Kernel (Red Hat) ci-dessous, il y a beaucoup de memory libre, mais je vois un peu de swap. J'ai toujours pensé à l'échange comme un débordement lorsque la memory a été épuisée. Pourquoi échangerait-il environ 7 Go (50%) de memory libre? Swappiness est de 60 (par défaut).

Sortie Meminfo:

MemTotal: 16436132 kB MemFree: 7507008 kB Buffers: 534804 kB Cached: 2642652 kB SwapCached: 39084 kB Active: 6001828 kB Inactive: 2532028 kB HighTotal: 0 kB HighFree: 0 kB LowTotal: 16436132 kB LowFree: 7507008 kB SwapTotal: 2097144 kB SwapFree: 1990096 kB Dirty: 236 kB Writeback: 0 kB AnonPages: 5353644 kB Mapped: 45764 kB Slab: 330660 kB PageTables: 34020 kB NFS_Unstable: 0 kB Bounce: 0 kB CommitLimit: 10315208 kB Committed_AS: 14836360 kB VmallocTotal: 34359738367 kB VmallocUsed: 264660 kB VmallocChunk: 34359472735 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 Hugepagesize: 2048 kB 

Le basculement uniquement lorsqu'il n'y a pas de memory libre n'est possible que si vous définissez swappiness sur 0. Sinon, pendant le time d'inactivité, le kernel permutera la memory. Pour ce faire, datatables ne sont pas supprimées de la memory, mais une copy est effectuée dans la partition swap.

Cela signifie que, dans le cas où la memory est épuisée, il n'est pas nécessaire d'écrire sur le disque. Dans ce cas, le kernel peut simplement écraser les pages memory qui ont déjà été permutées, pour lesquelles il sait qu'il a une copy des données.

Le paramètre swappiness contrôle simplement combien il le fait.