Максимальное использование веб-сервера Apache из-за зависания процессов в состоянии D
У меня есть веб-сервер Apache 2.2.3, работающий на 8-ядерном ВМ с 8G Ram.
Во время нагрузочного теста веб-сервер перестал отвечать, и средняя нагрузка возросла до 1000.
Когда я запускаю команду Top, я вижу, что большое количество процессов httpd застряло в состоянии "D". Я сделал некоторый поиск, и, кажется, статус "D" означает непрерывный сон.
Я связал один из застрявших процессов и ниже вывод:
# strace -p 27843
Process 27843 attached - interrupt to quit
fcntl(34, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=0, len=1}
Затем я сделал lsof, чтобы проверить, что такое fd 34 и ниже вывод:
httpd 27843 apache 34u REG 8,1 0 131756 /tmp/.xcache.0.0.1292616489.lock (deleted)
Кажется, это может быть связано с проблемой блокировки с xcache, но как мне продолжить устранение неполадок?