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.

My w3wp's are recycling every 60 seconds after using too much virtual memory.

I ran the IIS Debug Diagnostic Tool to capture a memory dump before the worker process recycled; the most interesting part seems to be this:

Virtual Allocation Summary

Reserved memory 4.88 GBytes  
Committed memory 328.27 MBytes  
Mapped memory 17.36 MBytes  
Reserved block count   524 blocks  
Committed block count   1082 blocks  
Mapped block count   43 blocks

So that 4.88 GBytes of reserved memory seems really big. But neither the DotNetMemoryAnalysis or the regular Memory Pressure Analyzer seems to tell me where that 4.88 GB went.

How can I find out?

share|improve this question

1 Answer 1

up vote 2 down vote accepted

Virtual memory is not a scarce resource. The operating system can create huge amounts of it at nearly zero cost. So there's no reason to be concerned about virtual memory consumption. You can just ignore it. David Wang addresses this specific issue in great detail in a blog post if you want the nitty gritty.

Whatever is recycling based on virtual memory consumption needs to be changed not to do that, since that makes no sense. If you memory map a 4GB file, you'll use 4GB of virtual memory, even though the real system resources needed to do that are trivial. (And it won't show as mapped memory because "mapped memory" only counts pages that have faulted in.)

Process recycling based on virtual memory is utterly useless.

share|improve this answer

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.