Отслеживание неуловимого и медленного anon_inode с помощью lsof и Apache strace

Отслеживание неуловимого и медленного anon_inode с помощью lsof и Apache strace

Периодически возникают проблемы с приложением LAMP, при которых Apache разветвляется на ServerLimit и (почти) останавливается. straceВ любом httpdпроцессе отображаются многочисленные медленные epoll_waitвызовы.

1.254721 epoll_wait(14, {{EPOLLIN, ...
3.296430 epoll_wait(14, {{EPOLLIN, ...
1.018047 epoll_wait(14, {{EPOLLIN, ...
1.279721 epoll_wait(14, {{EPOLLIN, ...
1.145649 epoll_wait(14, {{EPOLLIN, ...
1.269836 epoll_wait(14, {{EPOLLIN, ...
1.094779 epoll_wait(14, {{EPOLLIN, ...
1.205911 epoll_wait(14, {{EPOLLIN, ...
9.052785 epoll_wait(14, {{EPOLLIN, ...
1.116279 epoll_wait(14, {{EPOLLIN, ...
1.027709 epoll_wait(14, {{EPOLLIN, ...
1.178679 epoll_wait(14, {{EPOLLIN, ...
1.336032 epoll_wait(14, {{EPOLLIN, ...
2.541861 epoll_wait(14, {{EPOLLIN, ...
1.113012 epoll_wait(14, {{EPOLLIN, ...

В lsofтом же процессе утверждается, что это anon_inode:

COMMAND  PID   USER   FD   TYPE   DEVICE      SIZE     NODE NAME
httpd   9709 apache   14u  0000      0,7         0      373 anon_inode

Есть ли у вас какие-либо соображения относительно того, что это может быть, или советы по отслеживанию этой информации?

решение1

Это в корне lsofне так хорошо сообщает, как должно быть. Я могу воспроизвести это в Ubuntu 14.04, но в более новой версии Ubuntu я вижу:

perl 511299 frew 3u a_inode 0,11 0 9666 [eventpoll]

Что довольно ясно. По сути, этот дескриптор файла epoll всегда будет выглядеть медленным, потому что это буквально блокировка ядра по тайм-ауту или событиям на ряде других дескрипторов файлов. epoll(7)Подробнее см.

Связанный контент