源地址:解决阿帕奇(apache)web服务器内存占用过高的方法_计算机技术网

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

第一个修改地方:

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

# find / -name httpd-mpm.conf

或者是直接在宝塔的:

httpd-mpm

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

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

修改设置Apache MPM Prefork模块 :

StartServers 3
MinSpareServers 2
MaxSpareServers 5
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 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

或者是直接在宝塔的:

httpd-default

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

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

vmhttpd-default

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

宝塔web服务器

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

特别提醒:

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

Logo

一起探索未来云端世界的核心,云原生技术专区带您领略创新、高效和可扩展的云计算解决方案,引领您在数字化时代的成功之路。

更多推荐