Из того, что я узнал об OOM OOM :
когда выбрана родительская задача, убийца oom сначала пожертвует вместо этого генерировать дочерние элементы с отдельными адресными пространствами, если это возможно. Эта предотвращает убийство серверов и важных системных демонов и теряет минимальный объем работы.
Как вы определяете, что дочерние процессы Apache не уничтожаются первыми? Возможно, что OOM убивает дочерний процесс, но система все еще не вышла из строя, и ей нужно убить другой дочерний процесс (в зависимости от того, сколько порождено) (я не являюсь сильным пользователем apache, поэтому я не знаю подробно, как apache адресное пространство обрабатывается среди его дочерних процессов)
Во-вторых, это из раздела настройки Apache Docs Настройка Apache :
Вы можете и должны управлять настройкой MaxRequestWorkers, чтобы ваш сервер не запускался так много детей, что начинает обмениваться местами Я бы посмотрел на то, что предложил Давидго.
Надеюсь, это поможет.