Ми працюємо на важкому веб-сайті 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_limit
512 Мб, що пояснює, що велике використання пам'яті відображає низький обсяг запитів, і max_execution_time
120 сек, що повинно закінчувати потоки, виконання яких займає більше часу, і, отже, повинно запобігати постійному зростанню використання пам'яті. бачачи.
Питання: Як ми могли розслідувати, що спричиняє цей витік пам'яті?
В ідеалі я шукаю кроки з усунення несправностей, які я можу виконувати в системі, не турбуючи команду розробників.
Додаткова інформація:
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
, використання пам’яті постійно зростає і вікно врешті-решт виходить з ладу з деякими повідомленнями ядра пам'яті. Вистави хороші (поки використання пам'яті не наблизиться до межі пам'яті). Будь ласка, ігноруйте проблему заміни.