У нас есть тяжелый сайт 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_time
120 секунд, которое должно завершать потоки, выполнение которых занимает больше времени, и, следовательно, должно предотвращать постоянный рост использования памяти. видя.
В: Как мы можем выяснить, что является причиной этой утечки памяти?
В идеале я ищу шаги по устранению неполадок, которые я могу выполнить в системе, не беспокоя команду разработчиков.
Дополнительная информация:
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
, использование памяти продолжает расти, и коробка в конечном итоге падает с некоторыми сообщениями ядра из нехватки памяти. Производительность хорошая (пока использование памяти не приближается к пределу памяти). Пожалуйста, игнорируйте проблему обмена.