从 lsof 和 A​​pache strace 追踪难以捉摸且缓慢的 anon_inode

从 lsof 和 A​​pache strace 追踪难以捉摸且缓慢的 anon_inode

遇到 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)有关更多详细信息,请参阅。

相关内容