首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >KeepAlive超时为5,但httpd进程将持续数小时。

KeepAlive超时为5,但httpd进程将持续数小时。
EN

Server Fault用户
提问于 2018-08-03 04:08:13
回答 1查看 985关注 0票数 0

我有一个客户端的应用程序运行Apache,今天醒来时发现它的平均负载为11.2 (!)。有许多httpd进程正在运行,所有这些进程显然已经运行了几个小时,并且占用了所有的CPU。

重新启动Apache之后,我的平均负载下降到0.4,这个问题似乎已经消失了。

现在,如果我的keepAlive超时为5,这些httpd进程如何运行这么长时间?我不知道怎么诊断他们在做什么,为什么。

它似乎在短期内修复了自己,但这是相当值得关注的,因为我不知道它什么时候会回来,哈哈。

EN

回答 1

Server Fault用户

发布于 2018-08-03 05:20:10

KeepAlive和KeepAliveTimeout确定服务器将保持空闲连接多久,以等待该连接上的客户端的另一个请求。进程没有理由在等待时使用CPU时间。

一个apache进程可以服务于多个连接,因此,高CPU时间本身并不表示这是在单个请求上使用的,尽管进程在所服务的请求数量确定之后才重新启动。

您可以在服务器日志中找到提示。

如果再次发生这种情况,请尝试找出流程正在做什么。在其中一个进程上使用strace,或在gdb中附加并使用"where“命令。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/924737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档