@Bodrosh

Как понять, из-за чего забивается вся оперативная память на VDS?

У меня на VDS расположено несколько сайтов и возникает проблема с полным забиванием оперативной памяти и swap (примерно так распределяется):
1730MB php
983MB apache2
763MB mysqld
62MB core

Сайты соответственно, перестают работать, временно помогает перезапуск веб-сервера, но со временем по новой забивается память. Вот собственно и не понятно, то ли скрипты не оптимизированы php, то ли это могут не завершаться ненужные процессы?
  • Вопрос задан
  • 237 просмотров
Решения вопроса 1
alpik
@alpik
no I, no mine
1) Как у вас запущен пхп? Должна быть опция чтобы перезапускать через N запросов, Как раз на случай, если у вас текут скрипты. В php-fpm это max_requests, в апаче точно не знаю, гуглите.

2) Если переписывать конфиги под nginx сложно - попробуйте https://openlitespeed.org

3) Посмотрите настройки mysql, сверьте с mysqlcalculator.com

Если сервер заточен под веб - 3/4 памяти там будет занимать именно mysql, пхп и nginx обычно помещаются в 1Гб. Хотя конечно зависит от вашего приложения.

В качестве костыля сейчас - перезапускайте по крону сервисы раз в несколько часов или раз в сутки.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@ky0
Миллиардер, филантроп, патологический лгун
Ограничивайте максимальный объём памяти и количество процессов PHP, ограничивайте доступную базе память. Смените апач на нгинкс, фигли он целый гигабайт-то занимает?
Ответ написан
2ord
@2ord
продвинутый чайник
Нужно начать использовать инструменты мониторинга и профилирования приложения на предмет потребления памяти и производительности. Для каждого ЯП они свои. Плюс есть инструменты для профилирования Linux. Однако я бы посоветовал переходить к ним лишь после тщательного анализа приложения средствами языка.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы