IIS 6应用程序池和Windows服务将无法启动

Windows Server 2003 R2(x86)/ IIS 6。

我正在设置一个ASP.NET应用程序以及一些在“MyServiceAccount”下运行的Windows服务。 但是,我无法启动应用程序池,也无法启动窗口服务。

MyServiceAccount位于IIS_WPG中,具有适当的本地策略权限和NTFS权限,我甚至尝试授予本地pipe理员权限。

应用程序池反复失败,并由IIS自动停止。 我在系统事件日志中看到的错误是:

服务应用程序池“MyAppPool”的进程意外终止。 进程ID是“7976”。 进程退出代码是“0x80”。

窗口服务在启动请求后立即失败,并且logging的错误是:

超时(30000毫秒)等待MyService服务连接。

我的研究表明,0x80退出代码通常与桌面堆耗尽有关。 我运行微软的dheapmon工具,它表明没有堆压力:

Desktop Heap Information Monitor Tool (Version 8.1.2925.0) Copyright (c) Microsoft Corporation. All rights reserved. ------------------------------------------------------------- Session ID: 1 Total Desktop: ( 4288 KB - 3 desktops) WinStation\Desktop Heap Size(KB) Used Rate(%) ------------------------------------------------------------- WinSta0\Default 4096 11.5 WinSta0\Disconnect 64 4.0 WinSta0\Winlogon 128 7.4 ------------------------------------------------------------- 

服务器的重新启动允许Windows服务和IIS应用程序池正常运行,但只能在短时间内运行。 (几分钟到一个小时左右。)这表明这是造成这个问题的某种内存压力(或其他累赘的过程)。

我试图允许进程使用共享桌面堆,如下所述:

http://support.microsoft.com/kb/831135

但是这导致WWW Publishing Service根本无法启动,所以我不得不回滚这个变化。 而且,我没有看到堆压,这让我觉得还有其他事情正在发生。

作为一个完整的检查,我也使用SysInternals进程监视器来查看是否得到任何文件或registry访问被拒绝的错误,而我没有看到。

任何帮助将不胜感激。