解决阿帕奇(apache)web服务器内存占用过高的方法

在阿帕奇服务中,有时候,我们会发现,数据会因为内存占用过高然后直接停止工作。也有可能是购买服务器时候,没有考虑到流量问题,内存过小,也会造成爆满的状态。下面,我们就来说说怎么去设置web服务器 httpd-mpm.conf  可以让服务器内存占用变小。

第一个修改地方:

直接到宝塔后台或者服务器实例中:

# find / -name httpd-mpm.conf

或者是直接在宝塔的:

2020041206312142

当然,宝塔的后台会出现两个,我们就选择第一个。

有些路径不同,选择后面 apache/conf/extra/httpd-mpm.conf 路径即可。

修改设置Apache MPM Prefork模块 :

StartServers 3MinSpareServers 2MaxSpareServers 5ServerLimit 256MaxClients 256MaxRequestsPerChild 40//一般MaxRequestsPerChild默认为 0,无限的意思。

什么是 MaxRequestsPerChild ?

通常在“Windows任务管理器-进程”中可以看到两个apache.exe进程,一个是父进程、一个是子进程,父进程接到访问请求 后,将请求交由子进程处理。MaxRequestsPerChild这个指令设定一个独立的子进程将能处理的请求数量。在处理 “MaxRequestsPerChild 数字”个请求之后,子进程将会被父进程终止,这时候子进程占用的内存就会释放,如果再有访问请求,父进程会重新产生子进程进行处理。  如果 MaxRequestsPerChild缺省设为0(无限)或较大的数字(例如10000以上)可以使每个子进程处理更多的请求,不会因为不断终止、启动 子进程降低访问效率,但MaxRequestsPerChild设置为0时,如果占用了200~300M内存,即使负载下来时占用的内存也不会减少。内存 较大的服务器可以设置为0或较大的数字。内存较小的服务器不妨设置成30、50、100,以防内存溢出。

这个参数没有设置好就会出现阿帕奇崩溃,或者内存会出现爆红,溢出。

第二个则修改:

或者是直接在宝塔的:

# find / -name httpd-default.conf

或者是直接在宝塔的:

2020041206410586

当然,宝塔的后台会出现两个,我们就选择第一个。

有些路径不同,选择后面 apache/conf/extra/httpd-default.conf 路径即可。

2020041206433677

这个是直接在实例里面去修改,如果是宝塔的话,则可以直接通过面板来修改。

2020041206461766-1024x590-1

根据自己的需求修改则可。

特别提醒:

如果以上的方法使用后,没有效果,还在一直增加,则可以直接去增加内存了,这种情况是内存确实小了,内存升个几G现在已经没有以前那么贵。加上服务器就不会爆红。

本站无法对海量内容真伪性鉴别,请勿相信本站任何号码,邮件,站外网址等信息,如有需要,请自行甄别。版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至net@163.com举报,一经查实,本站将立刻删除。
(0)
上一篇 2022年11月27日 下午12:26
下一篇 2022年11月27日 下午12:28

相关推荐

发表回复

登录后才能评论