У нас есть тяжелый сайт Drupal, который выполняет финансовое моделирование. Похоже, что мы сталкиваемся с некоторой утечкой памяти, учитывая тот факт, что со временем память, используемая apache, растет, а число процессов apache остается стабильным:


Мы знаем, что проблема с памятью исходит от apache / PHP, потому что всякий раз, когда мы выдаем использование /etc/init.d/httpd reloadпамяти, падает (см. Скриншот выше и результаты CLI):
Перед перезагрузкой httpd
$ бесплатно
общее количество использованных свободных общих буферов в кеше
Mem: 49447692 45926468 3521224 0 191100 22609728
- / + буферы / кэш: 23125640 26322052
Своп: 2097144 536552 1560592
После перезагрузки httpd
$ бесплатно
общее количество использованных свободных общих буферов в кеше
Mem: 49447692 28905752 20541940 0 191360 22598428
- / + буферы / кэш: 6115964 43331728
Своп: 2097144 536552 1560592
Каждому потоку apache назначается PHP memory_limitобъемом 512 МБ, что объясняет высокий уровень использования памяти, что объясняет низкий объем запросов, и значение max_execution_time120 секунд, которое должно завершать потоки, выполнение которых занимает больше времени, и, следовательно, должно предотвращать постоянный рост использования памяти. видя.
В: Как мы можем выяснить, что является причиной этой утечки памяти?
В идеале я ищу шаги по устранению неполадок, которые я могу выполнить в системе, не беспокоя команду разработчиков.
Дополнительная информация:
OS: RHEL 5.6
PHP: 5.3
Drupal: 6.x
MySQL: 5.6
К вашему сведению, мы знаем о проблеме подкачки, которую мы исследуем отдельно, и не имеет ничего общего с утечкой памяти, которую мы наблюдали до того, как перестановка начала происходить.
memcachedбиблиотеку PHP . Основываясь на странице администратора memcache memcache.php, все, что мы можем видеть, это то, что мы выделили 5GBдля memcache, из которого 3.3GBиспользуется. Было бы здорово, если бы вы могли помочь нам здесь.
memcachedдемон, вероятно, в порядке. Это библиотека memcache PHP, которая может или не может утечь память (и, следовательно, увеличить использование памяти процессами Apache). Моя проблема была примерно 1-2 года назад, поэтому все могло быть исправлено после этого. В любом случае, если memcached не является обязательным для вас, попробуйте отключить его на некоторое время и посмотреть, продолжает ли расти использование памяти Apache.
httpd, использование памяти продолжает расти, и коробка в конечном итоге падает с некоторыми сообщениями ядра из нехватки памяти. Производительность хорошая (пока использование памяти не приближается к пределу памяти). Пожалуйста, игнорируйте проблему обмена.