多个 Apache 根进程

多个 Apache 根进程

我今天注意到,当我们从 Web 服务器发出请求时,速度相当慢。我开始调查,发现有大量 root 拥有的 Apache 进程。

我不确定这是否就是导致速度变慢的真正原因,但无论如何,情况看起来不太好。

问题是,我不知道接下来该做什么?我如何找出为什么有这么多根进程?有人能推荐一组测试吗?我尝试过跟踪其中几个,它们似乎在做一些事情,但 strace 的输出超出了我的能力范围。

root     30918  1.8  1.3  84284 52296 ?        Ss   14:11   0:01 /usr/sbin/apache2 -k restart
root     30919  0.0  1.1  84420 45612 ?        S    14:11   0:00 /usr/sbin/apache2 -k restart
root     30920  0.0  1.1  84420 45604 ?        S    14:11   0:00 /usr/sbin/apache2 -k restart
root     30921  0.0  1.1  84420 45612 ?        S    14:11   0:00 /usr/sbin/apache2 -k restart
root     30922  0.1  1.1  84420 45612 ?        S    14:11   0:00 /usr/sbin/apache2 -k restart
root     30923  0.0  1.1  84420 45612 ?        S    14:11   0:00 /usr/sbin/apache2 -k restart
www-data 30926  6.6  1.5 104964 61336 ?        S    14:12   0:03 /usr/sbin/apache2 -k restart
root     30930  0.1  1.1  84420 45616 ?        S    14:12   0:00 /usr/sbin/apache2 -k restart
root     30933  0.0  1.1  84420 45616 ?        S    14:12   0:00 /usr/sbin/apache2 -k restart
root     30935  0.0  1.1  84420 45616 ?        S    14:12   0:00 /usr/sbin/apache2 -k restart
root     30936  0.0  1.1  84420 45616 ?        S    14:12   0:00 /usr/sbin/apache2 -k restart
root     30937  0.0  1.1  84420 45616 ?        S    14:12   0:00 /usr/sbin/apache2 -k restart
root     30938  0.0  1.1  84420 45616 ?        S    14:12   0:00 /usr/sbin/apache2 -k restart
root     30961  0.0  1.1  84420 45612 ?        S    14:12   0:00 /usr/sbin/apache2 -k restart
root     30989  0.0  1.1  84420 45612 ?        S    14:12   0:00 /usr/sbin/apache2 -k restart
root     30990  0.0  1.1  84420 45612 ?        S    14:12   0:00 /usr/sbin/apache2 -k restart
root     31011  0.1  1.1  84420 45612 ?        S    14:12   0:00 /usr/sbin/apache2 -k restart
root     31013  0.1  1.1  84420 45612 ?        S    14:12   0:00 /usr/sbin/apache2 -k restart
root     31014  0.0  1.1  84420 45612 ?        S    14:12   0:00 /usr/sbin/apache2 -k restart
www-data 31175  2.5  1.5 104168 60524 ?        S    14:12   0:00 /usr/sbin/apache2 -k restart
www-data 31189  2.3  1.4 102360 58920 ?        S    14:12   0:00 /usr/sbin/apache2 -k restart
www-data 31190  1.5  1.4 101904 58356 ?        S    14:12   0:00 /usr/sbin/apache2 -k restart
www-data 31191  0.3  1.1  84556 46760 ?        S    14:12   0:00 /usr/sbin/apache2 -k restart
www-data 31192  1.4  1.4 101916 58384 ?        S    14:12   0:00 /usr/sbin/apache2 -k restart
www-data 31193  1.5  1.4 101916 58376 ?        S    14:12   0:00 /usr/sbin/apache2 -k restart
root     31240  0.1  1.1  84420 45612 ?        S    14:12   0:00 /usr/sbin/apache2 -k restart

这是其中一个进程的 strace 输出的示例。

--- SIGCHLD (Child exited) @ 0 (0) ---
read(6, 0xff87f6ef, 1)                  = -1 EAGAIN (Resource temporarily unavailable)
getuid32()                              = 0
close(17)                               = 0
gettimeofday({1354109303, 670988}, NULL) = 0
semop(5668864, {{0, -1, SEM_UNDO}}, 1)  = 0
accept(4, {sa_family=AF_INET, sin_port=htons(48107), sin_addr=inet_addr("192.168.16.12")}, [16]) = 17
fcntl64(17, F_GETFD)                    = 0
fcntl64(17, F_SETFD, FD_CLOEXEC)        = 0
semop(5668864, {{0, 1, SEM_UNDO}}, 1)   = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xf74a2768) = 1949
waitpid(1949, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 1949
--- SIGCHLD (Child exited) @ 0 (0) ---
read(6, 0xff87f6ef, 1)                  = -1 EAGAIN (Resource temporarily unavailable)
getuid32()                              = 0
close(17)                               = 0
gettimeofday({1354109305, 724358}, NULL) = 0
semop(5668864, {{0, -1, SEM_UNDO}}, 1)  = 0
accept(4, {sa_family=AF_INET, sin_port=htons(48132), sin_addr=inet_addr("192.168.16.12")}, [16]) = 17
fcntl64(17, F_GETFD)                    = 0
fcntl64(17, F_SETFD, FD_CLOEXEC)        = 0
semop(5668864, {{0, 1, SEM_UNDO}}, 1)   = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xf74a2768) = 1974
waitpid(1974, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 1974
--- SIGCHLD (Child exited) @ 0 (0) ---

相关内容