解决Apache+mysql在win2003中占用内存问题_WIN2003服务器维护_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

解决Apache+mysql在win2003中占用内存问题

作者:黑客防线网安网站维护基地 来源:黑客防线网安网站维护基地 浏览次数:0

本篇关键词:WIN2003apachemysqlphp
黑客防线网安网讯:Apache+mysql在window2003中占用内存问题主要体现在以下几个方面:
    1、apache服务器配置,导致apache.exe占用内存不能释放!
Apache+mysql在window2003中占用内存问题主要体现在以下几个方面:

    1、apache服务器配置导致apache.exe占用内存不能释放!

       当httpd.ini的配置为:

       ... ...

       <IfModule mpm_winnt.c>
          ThreadsPerChild 150
          MaxRequestsPerChild  0
      </IfModule>

       ... ...

       此时MaxRequestsPerChild 为0则表示apache.exe是可以不断的使用内存,当内存资源被耗尽时,则会导致apache服务器不能运行!因此对于这样配置,最好修改为以下参数达到Apache性能优化

       ... ...

       <IfModule mpm_winnt.c>
          Win32DisableAcceptEx
          ThreadsPerChild 168
          ThreadLimit 350
          MaxRequestsPerChild 5000
      </IfModule>

       ... ...

       MaxRequestsPerChild 为5000时,这个数量也对于有较大的内存来说才可以,我的内存是20G,在最初我的内存 是4G时,我设置MaxRequestsPerChild 为 1000,好了,这里还有一个关键就是ThreadsPerChild 为 168

,其实ThreadsPerChild 设置值最好不要超出180,这个是我在其他文章看到的,然后我在经过一段时间的测试后,觉得切实服务器会稳定很多!

      对此以上的配置,在使用的过程中,你就会发现计算机进程里会出现大量apache.exe进程,这是什么原因造成的呢,那时因为在上述的配置中,会产生 apache.exe产生的子进程,然而所产生的子进程使用完后并不会及时释放内存!此时的解决的办法,我是使用了window2003系统自带的内存释 放工具empty.exe,你可以编辑计划任务,写批处理文件对apache.exe内存的释放!

      2.apache服务器产生的多个rotatelogs.exe的cmd.exe窗口,这是由于apache服务器产生日志时产生的,如果你的服务器对日志没有要求,我建议你可以取消产生日志文件,我的配置是不要将

ErrorLog logs/error.log 修改为
#ErrorLog "|C:/apache2/bin/rotatelogs.exe D:/apachelogs/error_%Y_%m_%d.log 86400 480",

#CustomLog logs/access.log common
#CustomLog "|C:/apache2/bin/rotatelogs.exe D:/apachelogs/access_%Y_%m_%d.log 86400 480" common

然后将logs文件中的error.log 文件删除,这样就没日志文件了!

以上的配置是我这几年erp系统运行的配置,具有一定实战效果的!

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-8933-1.html
网站维护教程更新时间:2012-03-20 15:22:29  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer