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

Linux: память свободна, но используется своп. Зачем?

Вот диаграммы Мунина.

Использование памяти: http://koryagin.com/w/q/memory-day.png

Поменять местами вход / выход: http://koryagin.com/w/q/swap-day.png

Почему Linux решает увеличить кэш и использовать подкачку, когда размер ОЗУ намного больше, чем память, используемая программами?

На вашем сервере, вероятно, есть некоторые потребляющие память и / или неактивные процессы, имеющие много неактивных страниц. Ядро Linux предпочитает заменять неактивные части программ местами, поскольку, скорее всего, память лучше использовать в качестве кеша.

Если вы хотите изменить это поведение, поиграйте с vm.swappiness sysctl настраивается, но будьте осторожны, перехитрить разработчиков ядра / разработчиков дистрибутива не так-то просто. :-)

У вас возникли проблемы с производительностью на вашем сервере во время этого всплеска подкачки или вы спросили из любопытства?

Вы должны попробовать поиграть с обмен параметр. Как видите, ваша система начала менять местами, когда пыталась увеличить размер файлового кеша, это нормально, если swappines не равен 0.