Apache 使用 100% CPU。“ps”命令可以告诉我它在做什么吗?

San*_*dra 8 linux httpd apache-2.2

我有一个 SLES 10 Linux 服务器,有时它被 Apache 最大化到 100% CPU。

随着ps ax我所看到的,阿帕奇已经催生〜50个Apache进程。

例如,该ps命令可以告诉我这些 Apache 进程中的每一个都在做什么吗?

或者也许是其他一些方法,以便我可以查看触发问题的网页?

Kev*_*n M 14

我的 /etc/httpd/conf/httpd.conf 文件有这个部分:

# Allow server status reports generated by mod_status,
# with the URL of http://servername/server-status
# Change the ".example.com" to match your domain to enable.
#
<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from .example.com
    Allow from 127. 192.168.1.
</Location>
Run Code Online (Sandbox Code Playgroud)

因此,如果我去http://192.168.1.1/server-status,我会得到一个页面,告诉我:

  1. 服务器版本
  2. httpd 正常运行时间
  3. 当前 CPU 使用率
  4. 正在处理的请求数和空闲工人数

  5. 每个进程正在做什么的网格
  6. 最近的请求

    192.168.3.1 的 Apache 服务器状态

    服务器版本:Apache/2.2.3 (Red Hat)
    服务器构建时间:2009 年 7 月 14 日 06:04:04

    当前时间:2010 年 7 月 17 日星期六 10:20:31 CDT
    重新启动时间:2010 年 7 月 17 日星期六 10:13:12 CDT
    父服务器生成:0
    服务器正常运行时间:7 分 19 秒
    总访问次数:51 - 总计流量:156 kB
    CPU 使用:u0 s0 cu0 cs0
    .116 请求/秒 - 363 B/秒 - 3132 B/
    请求 当前正在处理 1 个请求,7 个空闲工作器

    __W_____................................................ .......
    ........................................... .....................
    ............................. ...................................
    ............... …………………………………………………………………………………………………………………………………………………………………………………………………………

    记分牌键:
    “_”等待连接,“S”启动,“R”读取请求,
    “W”发送回复,“K”Keepalive(读取),“D”DNS查找,
    “C”关闭连接,“L” ” 日志记录,“G” 优雅地完成,
    “我”空闲清理工人,“。” 没有当前进程的开放槽

    Srv PID Acc M CPU SS Req Conn Child Slot Client VHost 请求
    0-0 20715 0/2/2 _ 0.00 418 0 0.0 0.01 0.01 192.168.3.97 dit GET /server-status HTTP/1.1
    1-0 / 9499 _ 0.00 128 0 0.0 0.15 0.15 192.168.3.97 dit GET /server-status HTTP/1.1
    2-0 20717 0/0/0 W 0.00 0 520222374 0.0 0.09t3.09tserver /server-status/ 1.1.1.0.09t.0.0918us