Странный вывод httpd процесса apache, выполняющего django с mod_wsgi

У меня около 12 процессов httpd, запущенных для окна AWS RHEL, которое никто не запускает в браузере (совместная команда разработчиков dev). Эти процессы вместе занимают более 1,8 ГБ на устройстве разработки, и я видел, что до 6 ГБ на производстве. Каждый из этих процессов потребляет около 800 МБ в соответствии с пс. Я связал одного из них и ненадолго оставил, чтобы найти:

<venv>/django/contrib/flatpages/templatetags/analytical  0x7fff37ef41a0) = -1 ENOENT (No such file or directory)
<venv>/django/contrib/flatpages/templatetags/analytical.py, O_RDONLY) = -1 ENOENT (No such file or directory)
<venv>/pagination/templatetags/expert_tags.py, O_RDONLY) = -1 ENOENT (No such file or directory)
<venv>/django/templatetags/raven.py, O_RDONLY) = -1 ENOENT (No such file or directory)
<vevn>/django_extensions/templatetags/raven.py O_RDONLY) = -1 ENOENT (No such file or directory)

Есть; без шуток, тысячи этих сообщений ENOENT в течение всего 5 минут. Все типы разных файлов.

Ряд 3 других процессов показывает что-то также интересное

read(4, 0x7fff37efa00f, 1)              = -1 EAGAIN (Resource temporarily unavailable)

Любой способ узнать, на какой ресурс ссылаются здесь?

Я не специалист по программированию ОС, но полагаю, что это не нормально? Любая идея, как я могу узнать, что вызывает это? Как это предотвратить?

Странно, но этот raven.py действительно отсутствует, но у нас есть сторонняя библиотека в виртуальной среде, которая называется

raven (3.5.1)

1 ответ

Хотя до сих пор не совсем понятно, почему так много ENOENT, было неправильное понимание конфигурации apache. Я сделал предположение, что mod_wsgi работал как демон, когда он работал во встроенном режиме. Раздел apache worker.c устанавливает число процессов равным 8 с расширением 25, и поэтому было так много резервных процессов.

Каждый процесс резервировал около 800 МБ виртуальной памяти и около 120 МБ оперативной памяти. После того, как mod_wsgi был изменен на демон, эти цифры сократились до 200 МБ для пространства виртуальных машин и 8 МБ для оперативной памяти! Общее потребление памяти Apache снизилось с 1 ГБ до 64 МБ!

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