知识库

解决"为应用程序池 XX 提供服务的进程关闭时间超过了限制"

2012-02-06

  为应用程序池 '×××' 提供服务的进程关闭时间超过了限制。进程 ID 是 '1003'。 有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp ;的帮助和支持中心。注:ID号,是变化的,可以为任何数据如3124,每次出现这种错误,ID都是不一样的!
  服务器表现:IIS6.0假死机,页面打不开,ASP页面,无法执行!网站打不开
  解决方法:

第1种方法:
 目前IIS服务器应用程序池设置如下:
 右击应用程序池DefaultAppPool,选取属性:
一、回收
 1、回收工作进程(分钟):选中,值为1740
 2、回收工作进程(请求数目):不选(原先设置为35000)
 3、在下列时间回收工作进程:不填
 4、消耗太多内存时回收工作进程:全不选。(2、3、4项可能避免了在访问量高的时候强制回收进程可能引发的服务器响应问题,猜的^-^)服务器内存够大,豁出去了给它用。
二、性能
 只选中空闲超时20分钟。其他都不选。WEB园最大工作进程数为1(默认)。原来的请求队列限制为4000,现在无限制。
三、运行状况
 前两项都起用,是原来的默认设置。启动时间限制90秒,关闭时间限制180秒。
 “关闭时间限制180秒”是必须的,因为进程关闭的时间,就是在这儿设置,原来为90秒限制,是默认值,如果进程关闭时间超过90秒,则认为超时,从而出现:进程关闭时间超过了限制的日志,所以,适当延长这个时间,可以避免这种错误!

第2种方法:
 原因:独立进程的 内存堆戋消耗完了,IIS不能创建更多的进程工作空间来处理
 解决方法:
 1. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC
 2. 在Parameters键下新建一个DWORD项,名字为:UseSharedWPDesktop 值为1 重启IIS

第3种方法:
 问题已解决,发现是数据库连接无法释放,不知道是什么原因,同样的代码在本地就是好的,在服务器端就有问题,最后在连接串里加入以下语句解决问题.
 Pooling=true; MAX Pool Size=512;Min Pool Size=50;Connection Lifetime=30

第4种方法:
 新建应用程序池,不同的网站引用不同程序池。

版权所有 © 2011 CopyRight 南宁珞德信息技术有限公司 代码:商务部 设计:新1站