IIS 问题
World Wide Web Publishing Service 服务因下列错误而停止:
可能解决因素:
把IIS->网站->属性->服务->iis 5隔离方式运行。
Service Unavailable
事件 ID: 2268
来源:W3SVC-WP
类别:无
描述:
无法加载站点/服务的所有 ISAPI 筛选器。因此启动中止。
事件 ID: 2274
来源:W3SVC-WP
类别:无
描述:
由于配置问题,无法加载 ISAPI 筛选器 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.40607\aspnet_filter.dll'。当前配置只支持加载为 AMD64 处理器体系结构创建的映像。数据字段包含错误编号。要进一步了解此问题,包括如何解决此类处理器体系结构的不匹配错误,请访问 http://go.microsoft.com/fwlink/?LinkId=29349。
===========
通常发生在64位服务器上,执行命令将IIS以兼容32位模式运行后发生。
iis降低为32位运行:
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
解决方法:
http://support.microsoft.com/kb/894435
需要在cscript命令后,针对特定Framework版本执行aspnet_regiis.exe -i的命令。需要注意-i参数是注册所有网站。
事件 ID ( 1093 )的描述(在资源( ASP.NET 2.0.50727.0 )中)无法找到。本地计算机可能没有必要的注册信息或消息 DLL 文件来从远程计算机显示消息。您可能可以使用 /AUXSOURCE= 标识来检索词描述;查看帮助和支持以了解详细信息。下列信息是事件的一部分: 0x80070005.
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
解决方法:
1.查看当前IIS进程用户身份,是否已经加入到IIS_WPG组。
Unable to get the private bytes memory limit for the W3WP process (reloaded)
2.如果组内已经加入,但是还报错.
PROBLEM DESCRIPTION
===================
I can run ASP.NET applications on the server, however I have noticed that when I do there is an asp error entry in the event log: "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".
ENVIRONMENT
===========
- Windows Server 2003
- .NET Framework 1.1
SUMMARY of TROUBLESHOOTING
==========================
This error is caused by a known issue with insufficient permissions in your IIS metabase. The metabase ACL's on the target server did not include the IIS_WPG group on the following two nodes of the metabase (IIS_WPG is in both ACL's on a clean install):
- W3SVC/AppPools
- W3SVC/Filters
You can download the MetaACL utility from http://support.microsoft.com/?id=267904. After you have installed the program, open a command prompt and navigate to the directory where you installed it. Then type the following:
- cscript metaacl.vbs IIS://Localhost/W3SVC/AppPools IIS_WPG RE
- cscript metaacl.vbs IIS://Localhost/W3SVC/Filters IIS_WPG RE
Warning:
The path is case sensitive - type exactly as above; after you run this command restart the IIS services and see if this corrects the problem.
以上内容引用:
3.问题依然存在,并且是使用过NewSID.exe的用户,查看以下内容
Problem
“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”
Solution
In order to develop with SharePoint I use Virtual PC or Virtual Server 2005 images. Installing Windows Server 2003 takes about an hour and because of that I copy the images and change the SID using NewSID.exe. After that I get the error and using Google I found the solution at Joe unfiltered:
“I had created this VPC by copying the virtual hard disk from another VPC and running NewSID on it. I was under the impression that this fixed any issues regarding SIDs from the old machine conflicting with SIDs on the new one. Not quite, it turns out. The IIS_WPG group from the old box is on the ACL of the app pools in the metabase, not IIS_WPG of the new box. Use metaacl.vbs (download from MS) to check.”
Use the command:MetaAcl.vbs "IIS://localhost/W3SVC/AppPools"
One of the entries will be an SID, not a user/group name. This is the IIS_WPG from the old box. To fix this, add the IIS_WPG group of the new box to the ACL in question using the command:
MetaAcl.vbs "IIS://localhost/W3SVC/AppPools" IIS_WPG U
So if your working with WSS 3 or MOSS 2007 and you use virtualization you should apply the fix.
Thanks to Joe!
事件日志如下:
========================
事件类型: 错误
事件来源: ASP.NET 2.0.50727.0
事件种类: 无
事件 ID: 1093
日期: 2009-8-17
事件: 11:09:28
用户: N/A
计算机: V-AUDIKMWEB-T
描述:
无法获取 W3WP 进程的专用字节内存限制。 ASP.NET 缓存将无法限制其内存使用,这可能会导致 进程重新启动。错误: 0×80070005
有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。
========================
原因:
这是一个已知的由于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
引用:
http://andreasglaser.net/post/2008/07/27/ASPNET-and-EventID-1093.aspx
http://support.microsoft.com/kb/267904/
http://topic.csdn.net/u/20091021/23/814cbe75-2b5a-4f1d-8fc7-4a5969aaa1d1.html