Назад | Перейти на главную страницу

Почему используется своп, когда доступно достаточно оперативной памяти?

Иногда я вижу, как серверы на базе 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Мб, но это принцип.

Если ядро ​​обнаруживает, что страница памяти не затрагивалась в течение длительного времени, оно автоматически заменяет ее, освобождая оперативную память для других приложений или для кеша.

Это позволяет лучше использовать имеющуюся у вас оперативную память, улучшая работу вашей системы.