为应用程序池**提供服务的进程意外终止。进程ID是**解决办法
今天服务器日志中出现了,查了下相关资料,把解决方法说出来。
为应用程序池**提供服务的进程意外终止。进程ID是**。进程退出代码是’0×80’2008年12月19日 星期三 上午 11:57事件类型: 警告
事件来源: W3SVC
事件种类: 无
事件 ID: 1009
日期: 2007-8-XX
事件: XX:XX:XX
用户: XX
计算机: XXXX
描述:
为应用程序池 ‘XXXXX’ 提供服务的进程意外终止。进程 ID 是 ‘XXXX’。进程退出代码是 ’0×80′。
有关更多信息,请参阅在 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。更改此注册表项之后,应当可以扩展到上百个应用程序池已及上百个同时运行的工作进程。