1. 首页>
  2. 腾讯云代理

[经验分享]linux主机内存占用高的解决方法,...

腾讯云 2017年05月13日 浏览578

腾讯云代理 腾讯云直播申请 游戏上云

摘要:

昨天发现服务器负载超高,达到了90%几,看到还使用了好几百M的虚拟内存,搞到网站访问速度很慢,况且我的网站还在备案中,并未对外开放。
我用的是1核CPU 1G内存的服务器,装的WDCP控制面板,平时内存负载都是40%左右的。问了售后客服部,又找了云安全的产品经理也没得到解决。经过一翻折腾,昨夜弄到凌晨三四点,世界杯都顾不上看了,终于找到问题解决方法。。。

原来是apache参数设置问题。
---------------------------- 引用 -----------------------------
调试方法:
修改apache配置文件httpd.conf(不同的主机控制面板可能该配置文件所处的目录不同)
对于安装wdcp的VPS,修改的文件是/www/wdlinux/httpd-2.2.22/conf/httpd-wdl.conf

httpd-wdl.conf中找到<IfModule mpm_prefork_module>,这里就是apache在prefork模式下的参数段。将该段各值修改为以下数值:
<IfModule mpm_prefork_module>
    ServerLimit         256
    StartServers          2
    MinSpareServers       2
    MaxSpareServers      5
    MaxClients          256
    MaxRequestsPerChild  50
</IfModule>
最重要的占用内存的参数是标红的几个。
经过上述设置之后,httpd子进程数保持在最小2个,多余的进程在处理请求超过50个后自动销毁释放内存(这个数值不要设为0,否则http进程会一直不销毁),从而保证在正常流量下内存得以及时释放。这些数值可以根据需要适当调整,以适应内存大小。修改后重启apache服务生效。

各字段含义:
    ServerLimit         最大客户数
    StartServers        服务器启动时建立的子进程数量
    MinSpareServers     最小空闲子进程数
    MaxSpareServers     最大空闲子进程数
    MaxClients          同一时间客户端最大接入请求的数量
    MaxRequestsPerChild 每个子进程在其生存期内允许伺服的最大请求数量  

引用参考资料网址:
http://www.wdlinux.cn/bbs/viewthread.php?tid=10590&highlight=%D0%A1%C4%DA%B4%E6%2B
http://www.2cto.com/os/201303/194028.html

----------------------------------------------------------------------------------

经过一翻调试,将相关数值设为如图。(对于一些参数还不是十分明白,所以试了好久,请高手指点最优设置方案。也希望官方WIKI能完善一下小CPU小内存主机的优化指引。)
QQ截图20140625111616.jpg 


经过一夜到现在上午11点目前内存占用率非常漂亮,网站访问速度也很快。
QQ截图20140625111543.jpg 

希望这个方法能帮到有同样问题的朋友。现在继续观察中,也请高手指点一下最佳的优化方案。


腾讯云服务商邀请关注:

http://partners.qcloud.com/invitation/99377079157835da208bd0

关注服务商的链接,提供下您关注的QQ,我们这边审核下即可快速回复您的工单问题与技术支持! 感谢您的信任与支持!

auto_1452.png

腾讯云技术交流群


ps:本站信息来源于 bbs.qcloud.com

相关文章

在线客服
淘宝购买
腾讯云直播申请 title=
+成为腾讯云VIP客户 腾讯云直播申请 客服电话

15818558013

0755-33940501-803

0755-33940501-808