OOM убивает мой PHP FPM после обновления версии LTS Ubuntu

Вчера я выполнил обновление выпуска, которое включало обновление PHP 7.4 до 8.2.

Сначала я подумал, что проблема может быть в версии PHP (т.к.php8.2-fpmсервис, который продолжал умирать), поэтому я вернулся кphp7.4-fpm, но это не решило проблему.

      php7.4-fpm.service: A process of this unit has been killed by the OOM killer.
php7.4-fpm.service: Failed with result 'oom-kill'.
php7.4-fpm.service: Consumed 12min 18.367s CPU time.

У меня есть сокеты сайта, организованные по пулам.

У всех такая конфигурация:

      pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

Обслуживание прекращается примерно через 1 час. Поэтому я решил представитьmax_requestsограничение

      pm.max_requests = 1000

А потом все стало намного стабильнее, но закончилось падением примерно через 12 часов. Так что теперь я боюсь, что простая настройка и дальнейшее уменьшение этого числа приведет к тому, что сервер просто упадет позже, но упадет в какой-то момент, что не идеально. Самое странное здесь то, что до обновления (Ubuntu 20.04 LTS) он был на 100% стабильным и никогда не падал, а после обновления до Ubuntu 22.04 LTS все пошло не так.

После повторного рассмотрения многих других вопросов в Server Fault и Super User, касающихся OOM, у меня заканчиваются идеи для тестирования дополнительных вариантов, поэтому мне интересно, может ли кто-нибудь предложить мне другие новые возможности для тестирования.

1 ответ

Произошла утечка памяти из-за плагина Wordpress (WP-Rocket).

Я смог определить это благодаря этому ответу в другом вопросе:

https://stackoverflow.com/a/20590805/4442122

Это указывало на точное место, где произошла утечка. Спустившись вниз, я нашел причину. Это было совсем не просто, особенно потому, что за ним стояла массивная система (WP), поэтому проблема могла возникнуть откуда угодно (особенно потому, что в WP все загружается из домашнего index.php).

Другие вопросы по тегам