Задать вопрос
bezrukovPS
@bezrukovPS
Ведущий программист 1С-Битрикс

Почему заполняется swap если свободна оперативка?

Добрый день.
На сервере Ubuntu 14.04, KVM

htop показал:
Mem: 1736/3953MB
Swp: 502/510MB
mysql отъедал 1700mb, после перезагрузки mysql, Mem:1742/3953MB, swap оказался 10/510MB.

По какой причине оперативная память может не использоваться, а уходить в swap?
  • Вопрос задан
  • 3047 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
skobkin
@skobkin
Гентушник, разработчик на PHP и Symfony.
По причине, что установлено такое значение Swappiness.
Стоит ли менять - вопрос хороший. Единоразово можете очистить с помощью swapoff и swapon.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Jump
@Jump
Системный администратор со стажем.
Это нормальная ситуация.
Смотрите - в памяти есть данные которые мало востребованы, система скидывает их в своп, но из памяти не стирает.
Если вдруг потребуется выделить много памяти, система мгновенно выделит эту память, так как данные уже в свопе.
Не потребуется память - они так и останутся в памяти и будут доступны со скоростью памяти.

В итоге - максимальное быстродействие и максимально эффективное использование памяти.

Вообще там много тонкостей, например память зачастую фрагментируется, что делает ее менее эффективной, дефрагментация осуществляется опять же с помощью свопа, и.т.д.

В итоге небольшое использование ОС свопа в фоновом режиме это нормально и полезно. Даже когда оперативки у вас достаточно. Ненормально если памяти мало и все приложения активно свопятся.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы