`
ezerg
  • 浏览: 273710 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

Apache 的 httpd 进程占用大量内存原因及其解决方案

阅读更多
有一台服务器 IBM P550 小型机上的 IHS 在连续运行几天后,其中的一个 httpd 进程占用内存接近几百兆。

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,以防内存溢出。



0
0
分享到:
评论
1 楼 laijinyan 2012-04-10  
我初学
请教下
不是说
MaxClients 要小于 ServerLimit 吗

相关推荐

    apache httpd2.4.6 for linux

    总的来说,Apache HTTPD 2.4.6是针对Linux系统的强大Web服务器解决方案,其优化的性能、安全特性以及灵活性,使其成为开发和部署Web应用的理想选择。在安装和使用httpd-2.4.6压缩包时,用户应仔细阅读文档,正确配置...

    apache端口占用问题解决办法

    这表明Apache尝试绑定到地址0.0.0.0上的80端口时失败,错误码10048表示该端口已经被其他进程占用。 #### 解决方案 要解决这个问题,我们需要通过以下步骤来定位并释放被占用的端口: 1. **检查端口占用情况**:...

    xamppApache80端口占用问题

    ### xampp Apache 80端口占用问题及解决方案 在使用xampp进行本地Web服务器搭建时,经常遇到的一个问题是80端口被占用的情况。80端口是HTTP协议默认使用的端口,也是xampp中Apache服务器默认监听的端口。如果80端口...

    httpd-2.4.12-win64-VC11 apache服务器64位

    Apache HTTP Server,通常简称...总之,“httpd-2.4.12-win64-VC11”为Windows 64位用户提供了一个强大的Web服务器解决方案,但同时也要求用户具备一定的系统管理和网络服务配置知识,以确保其稳定、高效和安全地运行。

    PHP XAMPP配置PHP环境和Apache80端口被占用解决方案1

    1. **检查80端口占用情况**:在Windows系统中,可以使用命令提示符输入`netstat –aon|findstr “80”`来查看哪个进程占用了80端口。 2. **修改Apache配置**:打开XAMPP控制面板,选择Apache的配置选项,编辑`httpd...

    80端口被占用的解决方案

    然而,当80端口被占用时,这将直接...无论是临时的解决方案还是长期的配置调整,都能确保Web服务的顺利运行,避免因端口冲突而导致的访问中断。在实际操作中,熟练掌握这些技巧,将大大提升网络管理的效率和灵活性。

    WindXP下Xampp无法启动apache最终解决办法

    ### WindXP下Xampp无法启动Apache的最终解决办法 #### 一、问题背景与适用...此外,如果80端口和443端口仍然被其他进程占用,还需要先结束这些进程才能成功启动Apache服务。希望本文所提供的方法能够帮助您解决问题。

    Skype占用80端口导致Apache启动不了.docx

    当Apache服务器启动失败,并显示类似“OS 10048: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次”这样的错误时,这通常意味着80端口已被其他进程占用。要找出占用该端口的进程,可以使用`netstat`命令。在...

    PHPstudy Apache无法启动的解决办法.rar

    4. **系统资源限制**:如内存不足、磁盘空间不足或系统资源被其他进程占用,也可能阻止Apache启动。 5. **服务冲突**:其他正在运行的服务可能与Apache冲突,如防火墙或安全软件阻止了Apache的通信。 **解决办法:*...

    Apache 解决80端口占用问题

    3. **处理占用服务**:一旦找到占用80端口的服务,我们有两种主要解决方案: - **更改Apache配置**:如果不想关闭或禁用占用80端口的服务,可以修改Apache的配置文件(通常是`httpd.conf`),将监听端口更改为其他...

    Apache2.2安全配置和性能优化

    例如,假设每进程占用200KB内存,服务器总内存为2GB,去除必要的系统服务占用(约500MB),剩余内存大约为1.5GB,那么理论上可以支持的最大并发数约为7500左右。 - **实际配置**:基于上述计算,可以适当提高`...

    Apache无法启动解决_the_requested_operation_has_failed.doc

    #### 其他常见问题及解决方案 **问题**:网站根目录设置不当导致无法启动。 **解决方案**: 1. **修改网站根目录**: - 在`httpd.conf`中查找`DocumentRoot`和`&lt;Directory&gt;`标签。 - 修改路径指向正确的网站根...

    apache服务的启用

    以下是一些常见的解决方案: 1. **以管理员权限运行命令提示符**: 在Windows系统中,你需要以管理员身份运行命令提示符来执行一些系统级别的操作。右键点击命令提示符图标,然后选择“以管理员身份运行”,这样你...

    httpd-2.2.25-win32.msi安装包

    5. **广泛支持**:由于其广泛使用,Apache拥有丰富的文档和社区资源,遇到问题时可以很容易找到解决方案。 6. **集成其他技术**:Apache常与PHP、Perl和Python等脚本语言结合,构建动态网站和Web应用程序,如...

    超精简 Apache 2.0.59

    总之,这个超精简的Apache 2.0.59版本为那些寻求轻量级Web服务器解决方案的用户提供了一个实用的选择,尤其是在资源有限的环境中。尽管它可能不适合大型、复杂的网站部署,但对于小型项目或学习环境,这个版本无疑是...

    ( WindowsServer2003下搭建Apache+PHP+MySQL+drupal.doc )

    - **端口冲突**:若Apache启动失败,检查是否有其他服务占用80端口,并通过任务管理器结束相关进程。 - **配置错误**:仔细检查Apache和PHP的配置文件,确认没有语法错误或注释符号不当使用。 - **权限问题**:确保...

    apache的安装使用

    #### 七、常见问题与解决方案 - **权限问题**:确保Apache有足够的权限来读取文件和目录。在Windows环境下,可能需要对Apache的服务账户赋予适当的权限。 - **端口冲突**:默认情况下,Apache监听80端口。如果该...

    80端口被占用导致Apache启动失败怎么解决

    ### 80端口被占用导致Apache启动失败的解决方案 #### 背景介绍 在进行Web服务器配置的过程中,我们经常会遇到Apache启动失败的问题。其中一个常见的原因是80端口被其他程序占用。80端口是HTTP服务默认使用的端口,...

    windows安装apache系统中无apache2服务解决方案

    ### Windows安装Apache系统中无Apache2服务解决方案 #### 背景介绍 在Windows环境下进行PHP开发时,可能会遇到Apache服务器无法正常启动的情况。本文主要针对一个具体的问题:即在安装配置Apache后,在Windows服务...

Global site tag (gtag.js) - Google Analytics