如何更好的控制apache的内存

如何更好的控制apache的内存,第1张

存交换空间而导致系统效率急剧下降。此外,同样的服务:2G内存的机器的 apache_max_process一般只设置到1G内存的1.7倍,因为Apache本身会因为进程过多导致性能下降。

例子1:

一个apache + mod_php的服务器:一个apache进程一般需要4M内存

因此在一个1G内存的机器上:

代码如下复制代码

apache_max_process_with_good_perfermance <(1g / 4m) * 2 = 500

apache_max_process = 500 * 1.5 = 750

所以规划你的应用让服务尽量跑在50

进程文件:apache.exe

进程名称:apache

描述:apache.exe是apachehttp服务器软件的程序。它快速、可靠、可通过简单的api扩展,perl/python解释器可被编译到服务器中,而且完全免费,完全开放源代码。如果你需要创建一个每天有数百万人访问的web服务器,apache可能是最佳选择。

出品者:

属于:

系统进程:否

后台进程:否

使用网络:是

硬件相关:否

常见错误:未知

内存使用:未知

安全等级:未知

间谍软件:否

广告软件:否

病毒:否

木马:否

你安装服务器了,检查你安装的系统版本,察看安装了什么服务器软件?

IHS 其实就是 Apache ,AIX 5.3 下运行在 worker 方式下,它被看作 Apache 未来的主流工作模式,它是一种多进程与多线程混合的模式。

Apache的主流工作模式MPM模式。MPM是Multi-Processing-Modules的简称,意思是多道处理模块。MPM模块有不同的种类。现在用的比较多的MPM种类主要是prefork和worker。prefork的工作方式是多个进程工作,每个进程会在处理一定数量的请求后结束(这个数量可能是无穷),没有线程的概念。worker被看作apache未来的主流工作模式,它是一种多进程与多线程混合的模式。

配置文件 httpd.conf 中 work 的参数配置项:

<IfModule worker.c>

ThreadLimit 100

ServerLimit 256

StartServers 8

MaxClients 1200

MinSpareThreads 100

MaxSpareThreads 300

ThreadsPerChild 100

MaxRequestsPerChild 0

</IfModule>

关键的问题出现在 MaxRequestsPerChild 参数。MaxRequestsPerChild这个指令设定一个独立的子进程将能处理的请求数量。

在处理“MaxRequestsPerChild 数字”个请求之后,子进程将会被父进程终止,这时候子进程占用的内存就会释放,如果再有访问请求,父进程会重新产生子进程进行处理。

如果MaxRequestsPerChild缺省设为0(无限)可以使每个子进程处理更多的请求,不会因为不断终止、启动子进程降低访问效率。

但如果占用了200~300M内存,即使负载下来时占用的内存也不会减少。内存较大的服务器可以设置为0或较大的数字。内存较小的服务器不妨设置成30、50、100,以防内存溢出。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/808647.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-29
下一篇2023-08-29

发表评论

登录后才能评论

评论列表(0条)

    保存