Кажется, я нашёл
временное решение. Наблюдая за htop, я заметил, что pm.max_requests перезапускает php-fpm процесс и как только процесс перезапустится, памяти он потребляет примерно 10MB, но через несколько секунд - сразу 180MB. Понятия не имею почему так происходит, но предполагаю, что дело в master-процессе. Значит - надо перезапускать master-процесс. Вот как это сделать в "лайтовом" режиме, без downtime, чтобы текущие запросы были обработаны, и только после их обработки произошёл перезапуск:
kill -USR2 $(cat /var/run/php/php8.3-fpm.pid)
Вот результат:
Можно поставить задание в CRON. Я поставил на 3 утра каждые сутки:
0 3 * * * kill -USR2 $(cat /var/run/php/php8.3-fpm.pid)