Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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

share|improve this question
add comment

1 Answer

up vote 1 down vote accepted

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.

share|improve this answer
    
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. serverfault.com/questions/247848/… –  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
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.