gpt4 book ai didi

linux - Centos 服务器因 D 状态下的 httpd 进程过多而崩溃

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:23:53 25 4
gpt4 key购买 nike

我有一个运行 httpd、mysql、memcached 和 postfix 的 Centos 服务器。通常,我的服务器负载还可以

Usage: /usr/sbin/httpd [-D name] [-d directory] [-f file]
top - 07:43:55 up 9:38, 1 user, load average: 1.04, 1.08, 1.11
Tasks: 236 total, 1 running, 234 sleeping, 0 stopped, 1 zombie
Cpu(s): 4.2%us, 1.0%sy, 0.0%ni, 93.6%id, 1.1%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 8015636k total, 5743920k used, 2271716k free, 254304k buffers
Swap: 8392696k total, 0k used, 8392696k free, 4224184k cached

但有时它会崩溃(httpd 不工作,无法将 ssh 连接到服务器),我需要请求数据中心重新启动它才能使用 ssh。

重新连接服务器后,用top命令查看,服务器平均负载仍然很高(超过100),CPU(wait)超过70%,D中httpd进程过多状态。

现在我被这个问题困住了。谁能提供一些建议?

最佳答案

进程将进入一种特殊的 sleep 状态,称为“D”或“磁盘 sleep ”。这是特殊的,因为处于这种状态的进程不能被杀死或中断。这种状态是不好的,因为你不能对处于 D 状态的进程做任何事情。如果发生这种情况,非常重要的是确定这种倒霉的 sleep 发生在哪里。使用带有 l 选项的 ps 命令很容易做到。 WCHAN 列显示进程正在休眠的内核函数的名称:

ps axl | awk '$10 ~ /D/'

与您的开发人员一起检查该功能

关于linux - Centos 服务器因 D 状态下的 httpd 进程过多而崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16619696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com