最近我在我的服务器中面临一个大问题,我使用tomcat作为控制器& apache作为web服务器,但突然apache消耗了98%的CPU,因此我的网站停了下来,我多次杀了这个进程但是这个进程再次启动并再次使用CUP,可能有人给出一些解决方案吗?
LOG:
root 21937 2264 5.8 9181548 246700? SLl 08:44 3168:44 apache -c httpd.conf 根24842 0.0 0.0 27400 3220? S 04:16 0:00 cpdavd - 接受2077年,2078年,2079年和2080年的连接(休眠) 根28715 0.0 0.0 128548 3984? S 09:15 0:02 / usr / sbin / httpd 根28726 0.0 0.0 128548 3984? S 09:15 0:02 / usr / sbin / httpd 根29283 0.0 0.0 128548 3988? S 09:18 0:02 / usr / sbin / httpd 根29391 0.0 0.0 128548 3980? S 09:18 0:02 / usr / sbin / httpd 根29786 0.0 0.0 128548 3988? S 09:20 0:02 / usr / sbin / httpd 根29825 0.0 0.0 128548 3988? R 09:20 0:02 / usr / sbin / httpd 根29857 0.0 0.0 128548 3980? S 09:20 0:02 / usr / sbin / httpd root 30022 0.0 0.0 128548 3980? S 09:21 0:01 / usr / sbin / httpd 根32218 0.0 0.0 128548 3844? S 04:50 0:03 / usr / sbin / httpd 根32223 0.0 0.0 128548 3984? S 04:50 0:07 / usr / sbin / httpd 根32284 0.0 0.0 128548 3984? S 04:51 0:08 / usr / sbin / httpd 根32311 0.0 0.0 128548 3984? S 04:51 0:08 / usr / sbin / httpd 根32342 0.0 0.0 128548 3988? S 04:51 0:08 / usr / sbin / httpd 根32345 0.0 0.0 128548 3984? S 04:51 0:08 / usr / sbin / httpd root 32349 0.0 0.0 128548 3980? S 04:51 0:08 / usr / sbin / httpd 根32354 0.0 0.0 128548 3980? S 04:51 0:08 / usr / sbin / httpd 根32373 0.0 0.0 128548 3988? S 04:51 0:08 / usr / sbin / httpd root 32409 0.0 0.0 128548 3980? S 04:51 0:08 / usr / sbin / httpd 根32493 0.0 0.0 128548 3980? S 04:51 0:08 / usr / sbin / httpd 根32551 0.0 0.0 128548 3984? S 04:52 0:08 / usr / sbin / httpd 根32567 0.0 0.0 128548 3988? S 04:52 0:07 / usr / sbin / httpd 根32657 0.0 0.0 128548 3980? S 04:52 0:08 / usr / sbin / httpd 根32751 0.0 0.0 128548 3980? S 04:52 0:08 / usr / sbin / httpd
答案 0 :(得分:-1)
需要调整httpd.conf(或apache2.conf中的设置,具体取决于版本)中的设置。
运行这两个中的一个将告诉您Apache正在使用的内存量: ps -ylC httpd | awk'{x + = $ 8; y + = 1} END {print“Apache内存使用情况(MB):”x / 1024;打印“平均过程大小(MB):”x /((y-1)* 1024)}'
ps -ylC apache2 | awk'{x + = $ 8; y + = 1} END {print“Apache内存使用情况(MB):”x / 1024;打印“平均过程大小(MB):”x /((y-1)* 1024)}'
我要调整的第一件事是prefork设置以及httpd.conf中的其他IfModule部分
以下是一些包含大量Apache调优建议的指南:
https://www.digitalocean.com/community/tutorials/how-to-optimize-apache-web-server-performance http://www.monitis.com/blog/25-apache-performance-tuning-tips/