APACHE处事器httpd.exe历程占用cpu100%的办理要领

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
利用: 可以进入监控页面
假如欣赏器支持刷新,可以?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的限制,其实许多.是没有用的。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/8314.html