【问题标题】:What is httpd <defunct>? [closed]什么是 httpd <defunct>? [关闭]
【发布时间】:2011-12-29 04:41:36
【问题描述】:
32537 apache    16   0 87424  15m 7324 S  2.3  0.3   0:00.52 httpd              
 3302 mysql     15   0  156m  41m 4756 S  1.3  0.7  10:50.91 mysqld             
  489 apache    16   0 87016  14m 6692 S  0.7  0.2   0:00.27 httpd              
  990 apache    15   0     0    0    0 Z  0.7  0.0   0:00.12 httpd <defunct>    
  665 apache    15   0 86992  13m 5644 S  0.3  0.2   0:00.20 httpd              
32218 apache    15   0 87356  14m 6344 S  0.3  0.2   0:00.53 httpd              
    1 root      15   0  2160  640  556 S  0.0  0.0   0:01.18 init  

来自top,偶尔会出现httpd &lt;defunct&gt;。它有什么作用?

我发现网络服务器有时不响应FPDF(应用户请求打印 PDF)。有关系吗?

更新,加载信息:

top - 11:55:59 up 17:30,  6 users,  load average: 0.53, 0.47, 0.80
Tasks: 322 total,   1 running, 320 sleeping,   0 stopped,   1 zombie
Cpu(s):  0.7%us,  0.2%sy,  0.0%ni, 95.1%id,  3.9%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:   6219412k total,  5944068k used,   275344k free,    21024k buffers
Swap:  5140792k total,       96k used,  5140696k free,  5270708k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND           
 1951 apache    16   0     0    0    0 Z  0.9  0.0   0:00.33 httpd <defunct>    
 2267 apache    15   0 86992  13m 5876 S  0.9  0.2   0:00.22 httpd              
 3302 mysql     15   0  156m  41m 4756 S  0.9  0.7  11:43.72 mysqld             
 2220 apache    15   0 87204  14m 6496 S  0.6  0.2   0:00.28 httpd              
 2340 apache    15   0 87828  13m 5588 S  0.6  0.2   0:00.22 httpd              
 2341 apache    17   0 88236  14m 5564 S  0.6  0.2   0:00.15 httpd              
  842 apache    16   0 87432  15m 7180 S  0.3  0.2   0:00.81 httpd              
 2225 apache    18   0 88236  14m 5560 S  0.3  0.2   0:00.17 httpd              
 2401 apache    15   0 86916  12m 5344 S  0.3  0.2   0:00.11 httpd              
    1 root      24   0  2160  640  556 S  0.0  0.0   0:01.18 init               

【问题讨论】:

    标签: http centos apache


    【解决方案1】:

    已失效进程是已退出但其父进程尚未等待它读取其退出状态的进程,在进程表中留下一个条目。也称为僵尸进程。有关详细信息,请参阅 Wikipedia article

    【讨论】:

    • 如果这些进程占用了太多内存空间,我可以杀死这些而不影响其他进程吗?
    • @diggy 已失效的进程已经退出,因此您无法杀死它们。我认为它已经或将很快释放它的资源。
    【解决方案2】:

    当一个进程在 Unix 上死掉时,它会向它的父进程发送一个退出代码。已失效的进程或“僵尸”是其父进程尚未查看僵尸退出代码的进程。一旦父级获得退出代码(使用wait 系统调用),僵尸就会消失。

    【讨论】:

      【解决方案3】:

      一个已失效的进程通常是一个已经完成但操作系统保留它直到父waits它“收集”其状态的进程。当您编写自己的“分叉”代码并有错误时,您通常只会看到很多这种情况。

      如果你使用

      ps -Hwfe
      

      您将看到进程层次结构以及父进程是什么。奇怪的是这是一个httpd 进程,它通常很擅长收集它的孩子。除非您的系统完全崩溃,否则您首先要使用 top...

      【讨论】:

      • CPU 非常空闲(请参阅问题的更新部分)。用户(浏览器)的主要抱怨是 PDF 创建偶尔失败。
      猜你喜欢
      • 2016-04-13
      • 2010-09-22
      • 2019-11-11
      • 2012-11-15
      • 2012-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多