Мы используем веб-сервер Apache (версия 2.4.51
на Debian 11), который представляет собой огромный веб-сайт с множеством сценариев, написанных на Perl. Проблема в том, что никто не может понять, как работает код, а функциональность постоянно заменяется новым программным обеспечением, написанным на PHP. Иногда, несмотря на то, что старый код Perl зацикливается, начинает потреблять слишком много оперативной памяти, и веб-сервер Apache уничтожается убийцей OOM ядра. Это случается нечасто, но когда это происходит, кто-то должен войти на сервер и перезапустить Apache, что стоит драгоценного времени, поскольку веб-сайт предоставляет пользователям важные функции.
Требование состоит в том, чтобы настроить веб-сервер Apache таким образом, чтобы поток(и), которые попали в цикл, уничтожались до того, как убийца OOM уничтожит родительский процесс Apache. Все остальные потоки Apache должны продолжать работать, только тот, который потребляет слишком много оперативной памяти, должен быть удален/завершен самим Apache или некоторыми функциями cgroup Systemd (или какими-либо другими средствами, если они есть).
Как можно выполнить это требование?