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

Apache2 использует безумное количество памяти

На сервере с 30 ГБ памяти, обслуживающем довольно объемный трафик.

По какой-то причине в последнее время Apache2 начал запускать потоки с безумным использованием памяти. 500–750 МБ на поток сейчас не редкость.

php.ini имеет memory_limit = 128M (по умолчанию php7.0).

Конфигурация предварительной вилки Apache по умолчанию.

В результате у нас всего ~ 1 ГБ свободной памяти.

Что мне не хватает?

У нас есть запросы проксирования Nginx, и его процессы больше похожи на ~ 60 МБ на поток. Вот скриншот бега top

Верхний снимок экрана

Любое понимание того, что может быть движущей силой, приветствуется!

Исходя из этого верхнего вывода, похоже, что процессы Apache имеют 20-50 МБ «резидентной» памяти. "Вирт" это не память, о которой тебе нужно беспокоитьсякак правило, это могут быть сопоставленные файлы и не используется фактическая оперативная память.

Я вижу, что у вас "кэшировано" 28 ГБ памяти. Обычно это кешированные файлы. Это хорошо, это избавляет ОС от необходимости обращаться к диску для доступа к файлам.

Я думаю, вам может пригодиться "Linux съел мою оперативную память" интернет сайт.

В чем именно заключается проблема? Ваша система каждый раз сообщает о «нехватке памяти» или процессы не работают из-за нехватки оперативной памяти?