应用程序池“DefaultAppPool”超出其作业限制设置,如何解决?
|
admin
2019年10月26日 10:35
本文热度 4559
|
:应用程序池“DefaultAppPool”超出其作业限制设置,如何解决?
服务器经常产生“应用程序池 'DefaultAppPool' 提供服务的进程关闭时间超过了限制。进程 ID 是 '2068'。”的错误,导致IIS处于假死状态,经了解是IIS应用程序池的设置问题。解决方法如下:
Internet 信息服务(IIS)管理器->应用程序池->DefaultAppPool->右击属性
一、回收
1、回收工作进程(分钟):选中,值为1740
2、回收工作进程(请求数目):不选(原先设置为35000)
3、在下列时间回收工作进程:不填
4、消耗太多内存时回收工作进程:全不选。
(2、3、4项可能避免了在访问量高的时候强制回收进程可能引发的服务器响应问题,导致iis假死不响应)
二、性能
只选中空闲超时20分钟。其他都不选。WEB园最大工作进程数为1(默认)。注意web园这里一定要保持默认,如果填写其他超过1的数字就会导致一些网站程序的后台程序打不开或者刷新不停。
原来的请求队列限制为4000,现在无限制。
三、运行状况
前两项都起用,是原来的默认设置。启动时间限制90秒,关闭时间限制180秒。
启动快速失败保护的钩去掉!
为了避免真的遇到很多错误时没有提示,可以不关闭,只是把快速保护的保护范围加大些,例如失败数50次 时间段5分钟 则关闭对应的程序。
“关闭时间限制180秒”是必须的,因为进程关闭的时间,原来为90秒限制,是默认值,如果进程关闭时间超过90秒,则认为超时,从而出现:进程关闭时间超过了限制 日志,所以,适当延长这个时间,可以避免这种错误
第2种方法:
原因:独立进程的 内存堆戋消耗完了,IIS不能创建更多的进程工作空间来处理。
解决方法:
新建应用程序池,不同的网站引用不同程序池。
该文章在 2019/10/29 12:37:13 编辑过
| |
全部评论1 |
|
admin
2019年10月29日 12:38
这个原因大概是以下几个因数造成的: 1:你限制了应用池的资源限制,限制得太小,比如:50这样或更少更多一点,这个时候如果你这个池下面的网站占用CPU太高,比如超过50%,那么5分钟后他就自动死了,手工默认建立的应用池默认是超过资源不操作。 出现上面这个情况解决方法:1:不限制CPU资源(这个是不可取的,不限制资源,有的程序有BUG占用资源厉害了的,服务器都会被拉死,你可能都无法操作服务器。),2:在超过资源那里选择 关闭,这个关闭默认是失败5次,90秒内恢复,一般默认就可。网站能自动恢复,这个关闭:不是永久关闭,意思是超过资源关闭,然后在某时间内自动恢复池。不操作就是不恢复,这个是很多人的误区。上次我写过相关的这个讲解了。 2:内存限制,在IIS6.0应用池上面有虚拟内存和最大内存限制,如果你设置了这个,那么网站访问量大了也会出现假死,所以不建议设置这里,默认就可。 3:就是服务器自身内存太小,网站运行当然需要使用到内存了,当内存不够的时候应用池也会死掉变成禁用。那么只有等内存全部释放出来才能恢复应用池了。出现这个情况:那么你就要考虑加内存或者检查到底是什么程序占用了内存了。比如MS SQL数据库,这个可是吃内存得大户啊,最好别和WEB服务器同时一个服务器上。很多人用1G内存做 2003系统,2003NET结构是很占用内存的,所以做服务器选2003还得把内存加到2G或更高才好。 内存不够上面 2点讲到的,是没办法操作了,也无法自动恢复。 4:不同网站用不同应用池:根据你自己实际情况而定,站点大的最好独立一个应用池,限制他的资源超过了自动回收,看上面 (1)讲到的,这样就不影响其他站点。 中型站点:多个网站共用一个应用池,比如5个站点用一个池,设置他资源时间等等。这样他们就算超资源了也不影响其他应用池的网站。 5:设置回收时间:很多人以为设置回收池越短越好,其实是错误的,每次回收当然是把内存回收回来了,但加重了一次服务器的负担,当服务器比较繁忙的时候,有可能导致其他应用池死。所以建议设置共1000就行了。其他独立池按照他网站流量而设置 可以设置600 也行,共用的不建议设置太短。 6:网站后台过不了多久自动退出又要重新登陆:这个情况就是你设置回收时间太短了,按照 5点设置吧。 不要设置什么20分、30分这样的,这样不好的。 该评论在 2019/10/29 12:41:13 编辑过
|