网站地图    收藏   

主页 > 系统 > windows >

解决:为应用程序池“#”提供服务的进程意外终

来源:自学PHP网    时间:2015-04-17 17:12 作者: 阅读:

[导读] 点击开始-控制面板-管理工具-组件服务-计算机-我的电脑-DCOM选项,选择其下的IIS ADMIN SERVICE,右健选择属性,找到安全,在启动和激活权限中编辑自定义,添加帐号NETWORK SERVICE ,给该帐...

点击“开始”-“控制面板”-“管理工具”-“组件服务”-“计算机”-“我的电脑”-“DCOM”选项,

选择其下的“IIS ADMIN SERVICE”,右健选择“属性”,找到“安全”,在“启动和激活权限”中编辑“自定义”,添加帐号“NETWORK SERVICE ”,
给该帐号赋予“本地启动”和“本地激活”的权限,重新启动IIS(点“开始”-“运行”-“CMD”,点确定,然后运行IISRESET),
之后再访问同一站点,则一切正常。

 

原因:独立进程的 内存堆戋消耗完了,IIS不能创建更多的进程工作空间来处理

解决方法:
1. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC
2. 在Parameters键下新建一个DWORD项,名字为:UseSharedWPDesktop 值为1 重启IIS

为应用程序池**提供服务的进程意外终止。进程ID是**。进程退出代码是'0x80'

为应用程序池**提供服务的进程意外终止。进程ID是**。进程退出代码是'0x80'2007年12月19日 星期三 上午 11:57事件类型: 警告
事件来源: W3SVC
事件种类: 无
事件 ID: 1009
日期: 2007-8-XX
事件: XX:XX:XX
用户: XX
计算机: XXXX
描述:
为应用程序池 'XXXXX' 提供服务的进程意外终止。进程 ID 是 'XXXX'。进程退出代码是 '0x80'。
有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。

原因:
CAUSE
Together with each worker process that IIS creates under a separate identity, the system creates a new desktop object by allocating memory from the configured desktop heap. This issue occurs because, when that heap has been exhausted, IIS cannot create more worker processes. Clients then receive the "service unavailable" error message in their Web browsers when they try to visit Web sites that those application pools host.
独立进程的 内存堆戋消耗完了,IIS不能创建更多的进程工作空间来处理
解决方法:
警告:需要修改服务器的注册表,请修改前备份相关键值
add the UseSharedWPDesktop registry key to your computer that is running IIS. This registry key permits all worker processes to run in one shared desktop, regardless of their worker process identities.
To add the UseSharedWPDesktop registry key:

1. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC
2. 在Parameters键下新建一个DWORD项,名字为:UseSharedWPDesktop 值为1 重启IIS

MS关于此键值描述:

UseSharedWPDesktop
注册表路径:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters
数据类型:REG_DWORD
默认值: 0
范围: 0 - 1
如果您正使用唯一标识设置应用程序池,那么根据服务器上的应用程序和内存资源,将会达到大约 60 个应用程序池的上限。某些分配了单个新登录会话的系统资源存在一定的限制。这表明可以有 60 个进程以不同的帐户同时运行。IIS 6.0 支持在单个共享的工作站和桌面中运行这些进程,所需的成本为在所有各方之间共享单个用户会话的单个封装。要扩展到 60 个应用程序池以上并共享单个桌面,可将 UseSharedWPDesktop 更改为 DWORD 值 1。更改此注册表项之后,应当可以扩展到上百个应用程序池已及上百个同时运行的工作进程。

 

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秒,则认为超时,从而出现:进程关闭时间超过了限制 日志,所以,适当延长这个时间,可以避免这种错误

第3种

问题已解决,发现是数据库连接无法释放,不知道是什么原因,同样的代码在本地就是好的,在服务器端就有问题,最后在连接串里加入以下语句解决问题.

Pooling=true; MAX Pool Size=512;Min Pool Size=50;Connection Lifetime=30

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论