從 lsof 和 A​​lache strace 追蹤難以捉摸且緩慢的 anon_inode

從 lsof 和 A​​lache strace 追蹤難以捉摸且緩慢的 anon_inode

LAMP 應用程式遇到間歇性問題,其中 Apache 分叉到其 ServerLimit 並逐漸(接近)停止。strace任何進程上的Anhttpd都會顯示大量緩慢的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)了解更多詳情。

相關內容