热搜词
发表于 2008-9-21 18:50:43 | 显示全部楼层 |阅读模式
本帖最后由 灰儿 于 2009-8-25 15:56 编辑

Apache占用大量内存原因
问:为什么服务器在连续运行多天后或访问峰值后,进程中的一个Apache.exe占用内存几百兆不减少?
解决办法:
1.用记事本打开apache2\conf\httpd.conf配置文件,查找以下配置命令并作相应修改。

KeepAlive On 是否允许持续连接(On 代表打开,Off 代表关闭)
    放动态网页,不引用其他内容,并且内存较小的服务器 KeepAlive Off 以节省内存;除了网页本身外,还引用了多个 javascript 文件,多个 css 文件,多个图片文件,并且这些文件都在同一个 HTTP 服务器上就 KeepAlive On 以减少TCP连接建立次数。

设置详解参见:
apache的httpd.conf文件配置KeepAlive值的合理使用

MaxKeepAliveRequests 100 允许的持续连接的最大数(用默认值,不用修改)
KeepAliveTimeout 15 持续连接在没有请求多少秒后切断(用默认值,不用修改)
StartServers 5 最初启动时启动多少个服务器进程(用默认值,不用修改)
MinSpareServers 5 空闲服务器进程的最小数(用默认值,不用修改)
MaxSpareServers 10 空闲服务器进程的最大数(用默认值,不用修改)
ThreadsPerChild 250  
    这个参数用于设置每个进程的线程数,子进程在启动时建立这些线程后就不再建立新的线程了. 一方面因为mpm_winnt不能启动多个进程, 所以这个数值要足够大,以便可以处理可能的请求高峰; 另一方面该参数以服务器的响应速度为准的, 数目太大的反而会变慢。因此需要综合均衡一个合理的数值。
默认值是64, 最大值是1920. 这里建议设置为100-500之间,服务器性能高的话值大一些,反之值小一些。
MaxRequestsPerChild 0 每个子进程处理的最大请求数
    这个值设置子进程在处理多少个请求之后自动结束。内存较大的服务器可以设置为0或较大的数字。内存较小的服务器不妨设置成30、50、100,以防内存溢出。

2.设置本地连接属性:
网上邻居->本地连接->属性->internet协议(TCP/IP)->属性->高级->wins标签->去掉“启用LMhosts查询”前的勾,再选中“启用TCP/IP上的 NetBIOS”一项。
01.jpg

3.设置windows防火墙:
在控制面版->windows防火墙->高级标签->本地连接设置->服务的标签里勾选“安全Web服务器(HTTPS)”。
全部评论0
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2024-12-23 10:30 , Processed in 0.174391 second(s), 25 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2024 Discuz! Team