服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

Httpd进程使用更多的内存随着时间的推移

我使用3GB内存VPS Centos 6服务器。如果我重新启动它,我得到大约4或5个httpd服务正在运行,所有这些服务都使用大约2.5%的内存(来自top命令的res列上的86m)。 我运行的只是一个网站,而不是现场,所以我是唯一连接到它的网站。 然而,每天我看到httpd内存百分比上升0.3或0.4取决于。 这意味着,4或5天后,这些httpd进程将使用大约4%的内存(在顶部命令res列上130米)。我没有看到日志中的任何错误,一切工作正常,但如果我离开服务器没有重新启动2个星期我将耗尽内存。 例如,重现它的一种方法是使用ab命令。例如,如果我运行: ab -c 2000 -t 60 http://xxx.xxx.xxx.xxx/ 在运行之后,每个httpd服务将使用比运行testing之前多0.3或0.4的内存。 我再次看不到日志中的任何错误。 这是正常的吗? 我一直在做更多的testing和研究。我的价值观: KeepAlive Off <IfModule prefork.c> StartServers 1 MinSpareServers 1 MaxSpareServers 5 ServerLimit 15 MaxClients 15 MaxRequestsPerChild 2000 </IfModule> 这似乎是好的,我总是有大约500MB的内存空余(至less当服务器刚刚重新启动)。问题是五个httpd进程总是活着保持增加的大小,所以当stream量冲击服务器和更多的孩subprocess创build它们获得父httpd进程的大小。所以如果父httpd进程是120mb,所有的subprocess将是120mb.So无关紧要MaxRequestsPerChild是多么小,因为一个新的subprocess将被创build将采取尽可能多的记忆像前一个一样。 有什么build议吗?