Проблема 1: Apache потребляет более 50% памяти в течение 1 минуты в определенное время каждый день
Я подробно проверил эту проблему, проверив журнал Apache, а также просмотрел все файлы моего кода, но теперь проблема не в файлах кода, поскольку он работает круглосуточно, но время потребления памяти зависит от дня.
Я также проверил время выполнения cron, но ни один cron не выполняется в одно и то же время.
Здесь я также предоставил подробную информацию о конфигурации сервера Apache, которую я настроил в /etc/apache2/mods-available/mpm_prefork.conf
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 150
ServerLimit 128
MaxClients 128
MaxConnectionsPerChild 100
Проблема 2: Сервер потребляет всю память с течением времени, и необходимо перезагрузить сервер в течение 24 часов.
Как только сервер потребляет xxx МБ памяти, он не может освободить эту память, и когда мы проверяем ее каждые 30 минут, то можем наблюдать колебания в размере +/- 50 МБ, но в большинстве случаев они плавно уменьшаются, и в течение 24 часов у нас нет памяти.
Когда мы пробуем команду top или htop, то она просто выводит Apache на первое место, поэтому мы получаем только представление о том, что Apache потребляет больше памяти, но не получаем точного представления о том, какой процесс потребляет память сейчас, и похоже, что старый процесс не освобождает эту память.
К вашему сведению:
- Я установил Apache на Ubuntu 16.
- На этом сервере Apache запущен один PHP-сайт
- На сервере установлено 2 ГБ оперативной памяти, ранее было 1 ГБ, но проблема все еще не устранена.
- Веб-сайт работал нормально до 1 месяца назад. Мы не вносили никаких серьезных изменений в код или на стороне сервера к этому времени, и многие из них также отменены, так что он почти такой же, как и раньше. Количество живых пользователей также не увеличилось по сравнению с прошлым месяцем.
Может ли кто-нибудь помочь отследить и устранить конкретную проблему?