Используйте netstat -nt
, чтобы увидеть, какие соединения есть с портом 80 из 127.0.0.1.
Вы можете использовать fuser -n tcp 80,127.0.0.1,<port-number>
для поиска PID процесса Apache, который имеет TCP-соединение через порт 80 с 127.0.0.1 из заданного.
Затем выполните strace -p <pid>
для этого процесса, чтобы увидеть, что он делает на уровне системных вызовов.
Вы можете выполнить шаги по поиску pid, если перезапустите Apache в однопроцессном режиме (при условии, что зависание все еще воспроизводится!). Если бы это было так, я бы просто запустил этот Apache в strace
и перехватил трассировку.
Исходя из этого, я бы решил, что делать дальше. Это висит в системном вызове, не висит в системном вызове, ... который системный вызов. Последними прибежищами будет получение отладочной сборки и gdb
-ing.
Руководство по отладке Apache: http://httpd.apache.org/dev/debugging.html