Apache使用了过多的服务器内存,导致其崩溃。我的服务器中有4GB的RAM。
我试图微调Apache设置以提高其性能,但是我对此很陌生。
我试图遵循本文的建议,但不确定如何计算,而且似乎会使情况更糟。
我的上层内容如下:
11697 apache 15 0 322m 37m 4048 S 0.0 0.9 0:00.52 httpd
13602 apache 15 0 323m 37m 3944 S 0.0 0.9 0:00.50 httpd
11786 apache 15 0 322m 36m 4052 S 0.0 0.9 0:00.50 httpd
12525 apache 15 0 322m 36m 4040 S 0.0 0.9 0:00.63 httpd
11806 apache 15 0 322m 36m 3952 S 0.0 0.9 0:00.42 httpd
11731 apache 15 0 322m 36m 4036 S 0.0 0.9 0:00.46 httpd
11717 apache 16 0 322m 36m 3956 S 0.0 0.9 0:00.54 httpd
11659 apache 15 0 322m 36m 3980 S 0.0 0.9 0:00.49 httpd
因此,这将是
MaxClients = 3000/ (322-37) = 10
那正确吗?另外,其他参数(如MinSpareServers,MaxSpareServers,MaxRequestsPerChild,StartServers,MinSpareThreads,MaxSpareThreads,ThreadsPerChild,MaxRequestsPerChild)的值应该是多少?
有人可以帮我吗?
更新资料
我已经尝试了你们的建议。它有效,但是只是一会儿。服务器启动后的一段时间后,内存使用率一直在增加,并且从未下降。
我的意思是,启动服务器后,我们假设有500位用户在线。服务器将消耗X RAM。此后2小时,如果有500个相同的在线用户,则服务器将消耗10倍的RAM。
有什么方法可以避免这种情况,否则我将不得不继续监视服务器并不时重新启动它?