1

We have a Win2K3 server that is hosting 30+ sites. Each site is configured to have its own unique application pool -- so that we can manually recycle specific sites if needed and not kill sessions for the others.

From what I've read, the consequence of this type of setup is that each application pool worker process gets allocated a Desktop Heap (normally 512 kb's) and we limit the number of app pools we can serve. http://blogs.msdn.com/b/david.wang/archive/2006/01/25/security-considerations-of-usesharedwpdesktop-on-iis6.aspx

PROBLEM:
What we're seeing is that occasionally COM+ errors get triggered, presumably by hitting our 512 kb limit of the desktop heap -- and certain sites become unresponsive (or have errors) until we manually recycle that specific app pool. I know that I can increase the desktop heap limit to 1024, and make other tweaks/tunes, but I've been tasked with finding out what exactly causes one site's heap to max out as opposed to another. It seems that when we start seeing COM+ errors, the sites it affects are random -- small sites or big sites (heavier used).

Is it based on process id? Traffic?

Any pointers on understanding this a little more would be excellent. Thanks!

jg

Glorfindel
  • 1,213
  • 4
  • 15
  • 22
tresstylez
  • 378
  • 1
  • 4
  • 17

1 Answers1

2

COM+ is like saying Windows error. Can you be specific?

To properly analyze Desktop Heap issues, you need DHeapMon and Windbg. Both can be download from Microsoft, and there is a useful article here to describe how to perform the analysis:

How to use DHeapMon.exe to troubleshoot Desktop Heap issues
http://blogs.msdn.com/b/alejacma/archive/2008/07/29/how-to-use-dheapmon-exe-to-troubleshoot-desktop-heap-issues.aspx

Chances are that you will localize this to the application that you are hosting, and it will be up to the developer to pursue this.

Greg Askew
  • 35,880
  • 5
  • 54
  • 82
  • Sorry about that! More specifically I'm getting Event ID: 4689. – tresstylez Mar 17 '11 at 18:56
  • You may want to consider this could be simply reaching a resource limit due to the artificially low desktop heap limit. http://serverfault.com/questions/247848/com-desktop-heap-errors-in-iis-affecting-sites-at-random/247855#247855 – Greg Askew Mar 17 '11 at 19:29
  • That was my initial consideration :) My question is, how does this limit get reached for a specific app pool? All the app pools on my box are non-interactive.... – tresstylez Mar 17 '11 at 20:33
  • It depends on the application. Generally speaking, I can easily see where attempting to run anything other than a simple application, like spinning up a lot of threads or creating a lot of objects would hit this threshold. – Greg Askew Mar 18 '11 at 14:18