调整Apache内存使用情况

我一直在努力让我的networking服务器,我遇到了一些问题。 首先,使用顶端我已经注意到,Apache使用了大量的内存,真的没有什么惊喜,但是每个进程的130-150M似乎也是高的,即使是Apache。 我运行2.2工人MPM使用mod_fcgid为PHP。 我的印象是,走这条路线会降低我的内存消耗,但是当我从Prefork和mod_php切换时,似乎并没有什么变化。 我在这里错过了什么? 我读过,调整好的Apache应该使用更接近每个进程15-25MB。 我走了吗?

下面是我用apache编译的模块列表:

以模块编译:

core.c mod_authn_file.c mod_authn_default.c mod_authz_host.c mod_authz_groupfile.c mod_authz_user.c mod_authz_default.c mod_auth_basic.c mod_cache.c mod_mem_cache.c mod_include.c mod_filter.c mod_deflate.c mod_log_config.c mod_logio.c mod_env.c mod_expires.c mod_headers.c mod_unique_id.c mod_setenvif.c mod_version.c mod_proxy.c mod_proxy_connect.c mod_proxy_ftp.c mod_proxy_http.c mod_proxy_scgi.c mod_proxy_ajp.c mod_proxy_balancer.c mod_ssl.c worker.c http_core.c mod_mime.c mod_status.c mod_autoindex.c mod_asis.c mod_info.c mod_suexec.c mod_cgid.c mod_negotiation.c mod_dir.c mod_actions.c mod_userdir.c mod_alias.c mod_rewrite.c mod_so.c 

其中的任何一个特别大,可以省略。 我使用服务器上的简单apache安装程序构build了一个通用版本。 我的猜测是那里有脂肪。

我有另外一个问题:进程之间是否有共享内存? 对于每个使用130MB以上的进程似乎很腥。 有没有办法限制使用的内存量? caching设置?

这是虚拟内存,而不是物理内存。 虚拟内存通常不被视为稀缺资源。 试图减lessApache的虚拟内存消耗将是浪费时间。 如果您在实际症状方面没有实际问题,则没有任何可解决的问题。

Apache有这方面的一些文档,但它在一个奇怪的地方。

请参阅http://wiki.apache.org/httpd/DoS ,它解释了您所看到的一些内容:

请注意,ps(1)和top(1)等工具报告的内存使用情况包括共享内存,因此它们报告的明显数字远远高于apache实际每个进程的使用情况。

所以,你的“高记忆”问题有点虚幻。