Иногда я вижу, как серверы на базе Linux используют свопинг, когда в этом нет необходимости. Особенно, когда для кеширования используется вся свободная оперативная память. Но теперь мой выделенный сервер с ОЗУ 16Гб начинает менять местами, хотя свободной ОЗУ хватает:
$ free -m
total used free shared buffers cached
Mem: 16029 10035 5994 0 421 8508
-/+ buffers/cache: 1104 14925
Swap: 19322 3 19319
На сервере работает веб-сервер, php и база данных, которые никогда не используют все 16 ГБ. Менять местами не должно. Но Linux по-прежнему делает это. В данном случае всего 3Мб, но это принцип.
Если ядро обнаруживает, что страница памяти не затрагивалась в течение длительного времени, оно автоматически заменяет ее, освобождая оперативную память для других приложений или для кеша.
Это позволяет лучше использовать имеющуюся у вас оперативную память, улучшая работу вашей системы.