我有ubuntu 10.04与512MB内存运行apache2。 这一切似乎没问题,直到我开始向服务器发出请求。 当我观看我的内存使用情况时,每次浏览到另一个页面时都会跳跃大约5-10%。 我假设这是新的Apache进程运行服务器的内容。 我不会为此烦恼,但是当我停止请求页面时,它不会回落。
我使用Django和wsgi,如果这有什么区别。
编辑:
来自:/etc/apache2/apache2.conf
Timeout 300 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 3 <IfModule mpm_prefork_module> StartServers 1 MinSpareServers 1 MaxSpareServers 5 MaxClients 15 MaxRequestsPerChild 0 </IfModule> <IfModule mpm_worker_module> StartServers 2 MinSpareThreads 25 MaxSpareThreads 75 ThreadLimit 64 ThreadsPerChild 25 MaxClients 150 MaxRequestsPerChild 0 </IfModule> <IfModule mpm_event_module> StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadLimit 64 ThreadsPerChild 25 MaxRequestsPerChild 0 </IfModule>
我已经编辑mpm_prefork_module更小,但没有解决它!
你可以在这里发表什么是你的Apache的设置
MaxRequestsPerChild
MaxClients
也有一些顶级的输出,或者你跳跃时看到的任何东西,都可以帮助我们理解和解释内存的去向。
它不应该回落。 如果你的内存不足 ,这只是一个问题。 否则大多数软件将尽可能多地使用内存并继续使用它。
这听起来像预期的那样工作。 一些apache儿童启动,消耗一些内存,并继续在最大和最小备用服务器的范围内运行。
您可以浏览文档,并进行更多的调整,如果你喜欢。 说减lessMaxSpareServers。 那么你将不会有太多的Apache进程挂起。