win2003环境下,Apache 的 httpd.exe 进程占用内存越来越大,这是什么原因?

vamzpqde 2008-04-01 11:33:36
网站运行一段时间后,Apache 的 httpd.exe 进程占用的内存就会越来越大,由最初的20M不断上升直到把内存占满。
重新启动服务器后 httpd.exe 占得内存又恢复到 20M,但是网站运行一段时间,占用的内存又会无限的增加。这是什么原因?怎么解决,谢谢!

我的环境是:Windows Server 2003 + Apache 2.2.4 + PHP5.2.2
...全文
1468 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
lk_cool 2009-09-30
  • 打赏
  • 举报
回复
修改一下配置httpd.conf看看效果:
1、修改
MaxClients
服务器的能力毕竟是有限的,不可能同时处理无限多的连接请求,因此参数Maxclient s就用于规定服务器支持的最多并发访问的客户数,如果这个值设置得过大,系统在繁忙时不得不在过多的进程之间进行切换来为太多的客户进行服务,这样对每个客户的反应就会减慢,并降低了整体的效率。
2、修改
MaxRequestsPerChild
处理过程中子进程要不断的申请和释放内存,次数多了就会造成一些内存垃圾,就会影响系统的稳定性,并且影响系统资源的有效利用。因此在一个副本处理过一定次数的请求之后,就可以让这个子进程副本退出,再从原始的httpd进程中重新复制一个干净的副本,这样就能提高系统的稳定性。

上述两种情况可能并不能解决你内存占满的情况。但修改这两项值你可以比较一下原前的情况看看有没有效果。

还有,运行一段时间是多长时间?最好结合日志看看服务器在做什么事情。

感觉你内存占满的情况可能与你自己的应用程序有关。
如果方便能把日志发给我看一下吗?superlandowner@gmail.com
aaronzy 2009-09-22
  • 打赏
  • 举报
回复
是不是Httpd.conf文件要配置一下?我也有这样的情况,时间久了apache的进程会自动关闭
junyi2003 2009-09-03
  • 打赏
  • 举报
回复
搞PHP怎么能用WINServer.....。 linux啊
alister 2009-09-03
  • 打赏
  • 举报
回复
valu 2009-09-02
  • 打赏
  • 举报
回复
X:\Program Files\Apache Software Foundation\Apache2.2\logs
删除里面的日志文件。
meiZiNick 2008-05-01
  • 打赏
  • 举报
回复
我也想知道,正在找這方面的資料~~~~~
qczl1224 2008-04-29
  • 打赏
  • 举报
回复
晕死 20M就不要说了,我生产环境用了800M内存了。。。
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 bigwatercar 的回复:]
我用Apache 2.2.8 + PHP 5.2.5 + MySQL 5 + zend Optimizer 3.3.0

在我的机器上刚配置好!跑了2天了,没有那种情况!要不你试试这个版本!
[/Quote]

补充一点,我的系统也是Windows Server 2003
  • 打赏
  • 举报
回复
我用Apache 2.2.8 + PHP 5.2.5 + MySQL 5 + zend Optimizer 3.3.0

在我的机器上刚配置好!跑了2天了,没有那种情况!要不你试试这个版本!
vamzpqde 2008-04-27
  • 打赏
  • 举报
回复
谁知到怎么解决?
kbryant 2008-04-27
  • 打赏
  • 举报
回复
友情up
qiaochuanbiao 2008-04-24
  • 打赏
  • 举报
回复
我的也是,最后换成IIS+php了
vamzpqde 2008-04-11
  • 打赏
  • 举报
回复
顶起
vamzpqde 2008-04-05
  • 打赏
  • 举报
回复
那该怎么解决?
Unending 2008-04-01
  • 打赏
  • 举报
回复
内存碎片没有及时释放

24,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Apache
社区管理员
  • Apache
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧