Tuesday, July 25, 2006

VPC Copying results in ASP.NET 2 memory limit error

Today I found the following error in the event log of one of my virtual servers (Win2k3 Sp1):

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

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

No comments: