Мой веб-сервер время от времени получает необъяснимые всплески памяти (до того, как в конечном итоге выйдет из строя), и я не могу понять, что вызывает это или как решить. Я все утро просматривал журналы ошибок и доступа и не нашел ничего необычного.
У меня 3 изображения:
график состояния сервера:
верхняя:
ps aux: (изменить - сайт не позволит мне опубликовать 3-й, потому что я слишком новичок)
Мы будем очень благодарны за любую помощь в разгадывании этой загадки.
Не могли бы вы вставить /proc/meminfo
вывод.
Кроме того, я не знаю, когда вы сделали снимок вершины, но я вижу, что вы не используете кешированную память. Вы знаете, почему так, или вы замечали это раньше?
Наряду с этим, можете ли вы предоставить соответствующие фрагменты /var/log/messages
до крушения.
Кстати, один процесс httpd находится в состоянии Z, но это не вызовет проблемы.
Кроме того, просмотрите журналы sar, чтобы узнать, можете ли вы определить какой-либо шаблон использования памяти.
Найти причину всплеска памяти на реальном сервере - непростая задача. Это будет еще сложнее, поскольку у вас есть ряд услуг, в которых может быть виноват любой из них.
В качестве читерства я оставил запускать top через терминал, отсортированный по использованию памяти. Таким образом, когда сервер выходит из строя, он оставляет мой терминал на последнем верхнем экране, который, по крайней мере, может сказать мне, какой процесс является вероятным виновником.
Затем он работает с этой службой, чтобы попытаться выяснить виновника.
В нашем случае это оказалось вызвано слишком большим значением максимального объема памяти для PHP.
Причина, по которой это вызывает проблему, заключается в том, что apache не очищает память после того, как ребенок израсходует определенный объем памяти, пока этот ребенок не будет пожат, что может не произойти в течение длительного времени.
Это может накапливаться и в конечном итоге уничтожить всю память.
У меня нет опыта работы с qmail, поэтому я не могу комментировать его использование памяти, но mysql при настройках по умолчанию, как правило, использует около 50 м, как показано наверху.
Удачи
у вас есть 2 ГБ оперативной памяти, и вы используете MySQL, Apache HTTPd, qmail, spamd ... все это требует памяти, поэтому вам нужно увеличить свою память и установить SWAP в своей системе.