У меня есть VPS, на котором запущено несколько веб-сайтов для клиентов. Запуск free -h
показывает следующее:
~$ free -h
total used free shared buffers cached
Mem: 994M 855M 138M 39M 72M 420M
-/+ buffers/cache: 362M 631M
Swap: 511M 0B 511M
Итак, у меня около 138 МБ свободной памяти. Мой вопрос: как узнать, когда нужно увеличить объем физической памяти на сервере? Когда она начинает постоянно погружаться в своп?
В любой момент времени у меня свободно около 140-145 МБ. Означает ли это, что свободное количество памяти в сравнении с общим объемом доступной памяти является здоровым?
решение1
Самое главное, на что нужно обратить внимание, это ошибки страниц. В большинстве систем Linux, работающих
ps -o min_flt,maj_flt
даст вам некоторую кумулятивную статистику, но реального времени не всегда достаточно. SAR, вероятно, ваш самый большой друг, когда дело доходит до проверки общего состояния системы, включая память, процессор, сеть и т. д... Проверьте страницу man для sar, чтобы убедиться. Но чтобы ответить на ошибки страницы, выполните:
sar -B
Проверьте столбец основных ошибок на предмет чего-либо серьезного. Некоторые серьезные ошибки страниц — это нормально, но многие из них, накапливающиеся, обычно указывают на то, что у вас либо есть процесс, который потребляет память без разбора, либо вам нужно увеличить объем физической памяти на сервере.
Последнее замечание: при запуске «free» для просмотра объема памяти обязательно прибавьте объем свободной памяти, указанный в разделе «буферы/кэш», к общему объему отображаемой памяти.