你能告诉我为什么最后三个 httpd 进程的启动时间与其他进程不同吗?
此外,为什么流程所有者不同?
[root@myserver httpd]# ps aux | grep httpd
root 5455 0.0 0.6 31980 13028 ? S 11:19 0:00 /usr/sbin/httpd
apache 5475 0.0 0.1 22704 4076 ? S 11:19 0:00 /usr/sbin/httpd
apache 5513 0.0 1.1 44504 23912 ? S 11:19 0:04 /usr/sbin/httpd
apache 5514 0.0 1.1 44524 23964 ? S 11:19 0:05 /usr/sbin/httpd
apache 5515 0.0 1.1 44524 23752 ? S 11:19 0:05 /usr/sbin/httpd
apache 5516 0.0 1.1 44484 23640 ? S 11:19 0:05 /usr/sbin/httpd
apache 5517 0.0 1.1 44528 23340 ? S 11:19 0:05 /usr/sbin/httpd
apache 5518 0.0 1.1 44504 23500 ? S 11:19 0:04 /usr/sbin/httpd
apache 5519 0.0 1.1 44508 23744 ? S 11:19 0:04 /usr/sbin/httpd
apache 5520 0.0 1.1 44668 23972 ? S 11:19 0:05 /usr/sbin/httpd
apache 6149 0.0 1.1 44412 23420 ? S 11:20 0:06 /usr/sbin/httpd
apache 6769 0.0 1.1 44504 23528 ? S 11:30 0:04 /usr/sbin/httpd
apache 7357 0.0 1.1 44500 23408 ? S 12:01 0:03 /usr/sbin/httpd
apache 7395 0.0 1.1 44428 23636 ? S 12:04 0:03 /usr/sbin/httpd
root 7949 0.0 0.0 3912 672 pts/0 S 19:54 0:00 grep httpd
[root@myserver httpd]#
先感谢您!
答案1
如果您使用的是 Apache 的标准 pre-fork MPM 模块(看起来您确实使用了),那么当所有其他进程都处于繁忙状态时,它将 fork 新进程。您的 Apache conf 中应该有一个如下所示的部分:
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
</IfModule>
这表示从 8 个进程开始,并允许最多分叉 256 个进程。最后几个进程就是这个结果。