从lsof和Apache strace追踪难以捉摸和缓慢的anon_inode

遇到一个LAMP应用程序的间歇性问题,其中Apache分叉到它的ServerLimit和研磨到(近)停止。 任何httpd进程的strace都会显示很多慢的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, ... 

同一个进程上的一个anon_inode声称这是一个anon_inode

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

有什么可能的洞察力,或build议追查这些信息?

这基本上不是报告,而是应该的。 我可以在Ubuntu 14.04上重现这一点,但在一个更新的Ubuntu中我看到:

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

这很清楚。 基本上,epoll文件描述符总是看起来很慢,因为它实际上是内核阻塞在一些其他文件描述符的超时或事件。 看更多细节epoll(7)