服务器不断崩溃,由于Apache,有什么办法可以阻止这一点,服务器有2GB的交换空间和3GB RAM
May 25 03:33:41 server kernel: [ 3513.200719] [<c015959c>] out_of_memory+0x14e/0x17f May 25 03:33:41 server kernel: [ 3513.211491] Out of memory: kill process 2936 (apache2) score 87364 or a child May 25 04:35:30 server kernel: [ 7239.936995] [<c015959c>] out_of_memory+0x14e/0x17f May 25 04:35:30 server kernel: [ 7239.948878] Out of memory: kill process 2936 (apache2) score 88236 or a child May 25 05:42:57 server kernel: [11210.572510] [<c015959c>] out_of_memory+0x14e/0x17f May 25 08:13:23 server kernel: [ 0.000000] PM: Registered nosave memory: 00000000000a0000 - 0000000000100000
首先,要注意的是,OOM杀手只是简单地杀死Apache进程,因为它需要额外的内存 – 并不一定是Apache在系统上消耗所有内存方面的罪魁祸首。
也就是说,你应该限制你允许产生的Apache进程的数量。 你的/etc/apache2/apache2.conf将有服务器池大小调整的部分(假设你使用默认的MPMconfiguration); 这将指定Apache可能增长到的最大工作线程和进程数。
如果(每个客户端的MaxClients *内存)大于(物理内存 – 所有其他应用程序)的容量,它就太大了。 最有可能的是,你已经设置了默认设置,让Apache使用所有可用的内存,而OOM杀手来到城里。