httpd.exe进程占用cpu%100,关闭掉AppServ服务,cpu应用率立刻下降到0。

  重新启动AppServ又出现占用cpu高的情况。

  原因,httpd.exe和防火墙配置有冲突。

  解决方法如下:

  1.网上邻居->本地链接->属性->internet协议(TCP/IP)->属性->高级->wins标签->去掉起用LMhosts查询前的勾。

  2.控制面版->windows防火墙->高级标签->本地链接设置->服务的标签里勾选安全Web服务器(HTTPS)即可。

  另外在网上有另外一种解决办法。

  找到httpd.conf配置文件

  修改ThreadsPerChild 的值为150 默认是250 万一你的服务器或vps内存超过2G 那么就不用设置

  经过修改防火墙设置http.exe占用cpu100%的问题解决!

# worker MPM

# ThreadLimit: maximum setting of ThreadsPerChild

# ServerLimit: maximum setting of StartServers

# StartServers: initial number of server processes to start

# MaxClients: maximum number of simultaneous client connections

# MinSpareThreads: minimum number of worker threads which are kept spare

# MaxSpareThreads: maximum number of worker threads which are kept spare

# ThreadsPerChild: constant number of worker threads in each server process

# MaxRequestsPerChild: maximum number of requests a server process serves

ThreadLimit 125

ServerLimit 320

StartServers 5

MaxClients 8000

MinSpareThreads 125

MaxSpareThreads 1250

ThreadsPerChild 125

MaxRequestsPerChild 1000

其中最重要的参数是 ThreadsPerChild和 MaxClients:

##ThreadsPerChild 每个子进程建立的线程数,子进程在启动时建立这些线程后就不再建立新的线程了

##MaxClients 允许同时伺服的最大接入请求数量(在worker下就是最大线程数量)

##ServerLimit:对最大子进程数的上限,该值必须大于等于MaxClients/ThreadsPerChild

##ThreadLimit:对ThreadsPerChild的上限,该值必须大于等于 ThreadsPerChild,如果将ThreadLimit设置成一个高出实际需要很多的ThreadsPerChild值,将会有过多的共享内存被 分配,应当和ThreadsPerChild可能达到的最大值保持一致.

##StartServers:服务器启动时的服务进程数目,该值肯定小于等于ServerLimit

##MinSpareThreads和MaxSpareThreads:通过新建或结束子进程的方式,将空闲线程的总数维持在这个范围内

##MaxRequestsPerChild:用于控制服务器建立新进程和结束旧进程的频 率,其实是一个为了防止内存溢出的参数,每个子进程在其生存期内允许伺服的最大请求数量。到达MaxRequestsPerChild的限制后,子进程将 会结束。对于KeepAlive链接,只有第一个请求会被计数。事实上,它改变了每个子进程限制最大链接数量的行为。

可以通过检查HTTPServer/logs/error_log日志,判断MaxClients是否需要增加,如果有下面的报错,就说明apache自上次重启至今,曾经发生过达到MaxClients的情况:

Tue Jun 07 16:36:03 2011] [error] server reached MaxClients setting, consider raising the MaxClients setting

需要注意的是,这样的报错并不会出现多次,当第二次达到MaxClients时,error_log不会记录。

还有一种可以实时看到连接数的方法,就是打开 server-status页面,设置方法如下:

1. 去掉以下部分的注释

LoadModule status_module modules/mod_status.so

ExtendedStatus On

2.修改以下部分

SetHandler server-status

# Order deny,allow

# Deny from all

Allow from all

重启ihs

使用:http://yourhost/server-status 可以进入监控页面

如果浏览器支持刷新,可以http://your_host/server-status?refresh=5 以便每 5 秒钟刷新一次

在打开的监控页面中:”.” Open slot with no current process,这里面的单个进程的“.”的数量其实对应与ThreadLimit这个值。

ThreadLimit 10

ServerLimit 2

StartServers 1

MaxClients 2

MinSpareThreads 1

MaxSpareThreads 2

ThreadsPerChild 1

MaxRequestsPerChild 1

httpd.conf的MPM配置如上例,在监控页面中的输出如下,其中有2个进程,各10个ThreadLimit,但由于ThreadsPerChild的限制,其实很多.是没有用的。

APACHE服务器httpd.exe进程占用cpu100%的解决方法的更多相关文章

  1. Apache服务器httpd.exe进程占用cpu超过50%的解决方法

    httpd.exe进程占用cpu超过50%,关闭掉Apache服务,cpu应用率立刻下降到0.  重新启动Apache又出现占用cpu高的情况.  原因是:httpd.exe和防火墙配置有冲突. 解决 ...

  2. 电脑Svchost.exe 进程占CPU100% 的解决办法

    Windows Update诊断和修复修复工具 http://support.microsoft.com/mats/windows_update/zh-cn Svchost.exe占用CPU100%的 ...

  3. Apache服务器出现Forbidden 403错误提示的解决方法总结

    在配置Linux的 Apache服务时,经常会遇到http403错误,我今天配置测试时也出现了,最后解决了,总结了一下.http 403错误是拒绝访问的意思,有很多原因的.还有,这些问题在win平台的 ...

  4. MySQL的Sleep进程占用大量连接解决方法

    第一部分为产生大量sleep进程的原理及对应解决方法第二部分为设置wait_timeout值,有效减少sleep进程 ========================================= ...

  5. Apache服务器出现Forbidden 403错误提示的解决方法

    默认web目录/var/www/html 改成 /data/www出现403问题解决: vim /etc/apache2/apache2.conf <Directory /data/www/&g ...

  6. w3wp.exe占用CPU100%的解决办法

    w3wp.exe占用CPU100%的解决办法 说点关于W3WP.EXE的知识. Q : W3WP.EXE,应用程序,应用程序池之间的关系 A : 一个应用程序池可以包含多个应用程序,一个应用程序池创建 ...

  7. 关于Linux服务器磁盘空间占满问题的解决方法

    下面给大家分享一篇关于Linux服务器磁盘占满问题解决方法(/dev/sda3 满了),需要的的朋友参考下吧   下面我们一起来看一篇关于Linux服务器磁盘占满问题解决(/dev/sda3 满了), ...

  8. Linux系统内存占用90%以上——解决方法

    Linux系统内存占用90%以上--解决方法   首先要明确一个问题:Linux系统内存占用90%以上,是否属于正常范围?网上有详细的解释,这属于正常现象~~~    www.2cto.com   L ...

  9. Linux的僵尸进程产生原因及解决方法

    Linux的僵尸进程产生原因及解决方法: 1. 产生原因: 在UNIX 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他,那么他将变成一个僵尸进程.通过ps命令查看 ...

随机推荐

  1. JVM介绍(一)

    JVM是运行在操作系统之上的,它与硬件没有直接的交互 类装载器ClassLoader 负责加载class文件,class文件在文件开头有特定的文件标示,并且ClassLoader只负责class文件的 ...

  2. Ubuntu16.04 安装cuda9.0 cudnn 7.0.5

    参考网址:https://blog.csdn.net/zhuangwu116/article/details/81063234 (1)下载安装文件: 下载cuda9.0 runfile 文件 下载地址 ...

  3. Ubuntu 16.04 安装wine

    1.安装源       sudo add-apt-repository ppa:wine/wine-builds       sudo apt-get update 2.安装wine      sud ...

  4. 如何用vs2013开发人员命令提示工具执行一个方法(一个简单的demo)

    在任何一个编辑器中编写一个静态的Main方法,必须是静态且名为Main的方法,并将Main方法所在的类文件命名为yang.cs(这个名字随便命名),如图-1. 图-1 打开你的vs2013开发人员命令 ...

  5. css sprite讲解与使用实例

    转自:http://www.manongjc.com/article/886.html 一.什么是css sprites css sprites直译过来就是CSS精灵.通常被解释为“CSS图像拼合”或 ...

  6. 2.3 Hive的数据类型讲解及实际项目中如何使用python脚本对数据进行ETL

    一.hive Data Types https://cwiki. apache. org/confluence/display/HiveLanguageManual+Types Numeric Typ ...

  7. linux中网络编程<1>

    1 网络编程API (1)网络层的ip地址可以唯一标识网络中的主机,传输层通过协议+端口唯一标识主机中的应用程序.这样以来使用三元组(地址,协议,端口)标识网络的进程. (2)socket---> ...

  8. UVaLive 3635 Pie (二分)

    题意:有f+1个人来分n个圆形派,每个人得到的必须是一个整块,并且是面积一样,问你面积是多少. 析:二分这个面积即可,小了就多余了,多了就不够分,很简单就能判断. 代码如下: #pragma comm ...

  9. Swift3.0 Alamofire网络请求的封装(get,post,upload图片上传)转

    转自: http://blog.csdn.net/C_calary/article/details/53193747 学习Swift 试着动手写个天气小app,搜集资料这个封装还蛮好用的. 我用的第三 ...

  10. 668. Kth Smallest Number in Multiplication Table

    Nearly every one have used the Multiplication Table. But could you find out the k-th smallest number ...