Ми працюємо на важкому веб-сайті Drupal, який здійснює фінансове моделювання. Ми, здається, стикаємося з деяким витоком пам’яті, враховуючи той факт, що понаднормово пам'ять, яку використовує апаш, зростає, поки кількість процесів апаш залишається стабільною:


Ми знаємо, що проблема пам'яті виходить від 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_limit512 Мб, що пояснює, що велике використання пам'яті відображає низький обсяг запитів, і max_execution_time120 сек, що повинно закінчувати потоки, виконання яких займає більше часу, і, отже, повинно запобігати постійному зростанню використання пам'яті. бачачи.
Питання: Як ми могли розслідувати, що спричиняє цей витік пам'яті?
В ідеалі я шукаю кроки з усунення несправностей, які я можу виконувати в системі, не турбуючи команду розробників.
Додаткова інформація:
OS: RHEL 5.6
PHP: 5.3
Drupal: 6.x
MySQL: 5.6
FYI нам відомо про проблему заміни, яку ми досліджуємо окремо, і не має нічого спільного з витоком пам’яті, який ми спостерігали до того, як заміни почали відбуватися.
memcachedбібліотеку PHP . На основі адміністративної сторінки memcache memcache.php, все, що ми можемо побачити, - це те, що ми виділили 5GBдля memcache, який 3.3GBвикористовується. Було б чудово, якщо ви можете допомогти нам далі тут.
memcachedдемон, напевно, просто чудовий. Це бібліотека пам'яті PHP, яка може або не може витікати з пам'яті (і, таким чином, зростати Apache обробляє пам'ять). Моя проблема була близько 1-2 років тому, тож, можливо, після цього все було б виправлено. У будь-якому випадку, якщо запам’ятовування не є обов’язковим для вас, спробуйте вимкнути його на деякий час і побачити, чи зростає використання пам'яті Apache.
httpd, використання пам’яті постійно зростає і вікно врешті-решт виходить з ладу з деякими повідомленнями ядра пам'яті. Вистави хороші (поки використання пам'яті не наблизиться до межі пам'яті). Будь ласка, ігноруйте проблему заміни.