最近几台IIS服务器上频繁出现错误日志,具体内容为:

事件类型: 错误
事件来源: ASP.NET 4.0.30319.0
事件种类: 无
事件 ID: 1093
日期:  2014-11-14
事件:  14:58:38
用户:  N/A
计算机: KMEP09
描述:
Unable to get the private bytes memory limit for the W3WP process. The ASP.NET cache will be unable to limit its memory use, which may lead to a process restart. Error: 0x80070005

有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。

 

服务器系统为server 2003 iis版本为6.0

 

1.经过查找资料,首先确认IIS进程用户身份,是否加入了IIS_WPG组。

账户是用的是域的serveice用户,加入到IIS_WPG组后重启IIS,测试半天左右,还是会有错误日志产生。

 

2.继续根据资料上的办法解决,解决办法如下:

这是一个已知的由于IIS metabase权限不足导致的错误.

目的服务器的IIS metabase的ACL在下面两个节点没有包含IIS_WPG组.

- W3SVC/AppPools 
- W3SVC/Filters 

解决办法:

下载 MetaACL utility (http://support.microsoft.com/?id=267904). 安装后, 打开命令行并切换当前目录到MetaACL utility 安装目录, 运行: 

- cscript metaacl.vbs IIS://Localhost/W3SVC/AppPools IIS_WPG RE 
- cscript metaacl.vbs IIS://Localhost/W3SVC/Filters IIS_WPG RE 

注意:  
命令中路径是大小写敏感的(最好Copy&Paste), 运行命令以后重启IIS服务. 

原文出处: http://blogs.msdn.com/carloc/archive/2006/09/20/unable-to-get-the-private-bytes-memory-limit-for-w3wp-exe-process.aspx

 

按照以上方法下载MetaACL utility工具时发现工具已不可用,最新工具为IIS 6.0 资源工具包中的 Metabase Explorer 工具,又经过长时间百度。。终于查询到该工具使用方法:

 

(1)安装 IIS 6.0 资源工具包工具。要获取 IIS 6.0 资源工具包工具,请访问下面的 Microsoft 网站:

[url]http://www.microsoft.com/downloads/details.aspx?FamilyID=56FC92EE-A71A-4C73-B628-ADE629C89499&displaylang=en[/url]

安装过程中可以选择自定义安装,只安装Metabase Explorer 1.6 组件,安装完成并打开该工具

 

 

打开-W3SVC/AppPools和W3SVC/Filters 的权限属性,发现确实缺少IIS_WPG组,添加,查找位置选择本台服务器,填写IIS_WPG,检查名称(该工具可能有些小BUG,如果组写错了或者写了一半,点检查名称可能会卡死),确定。

 

具体权限我是按照一台没有报错的服务器权限给的,设置完成后确定,重启IIS,测试两天没有错误日志产生。