I have been required to set the Maximum virtual memory (in megabytes) setting in IIS6 on and it has been enabled with the default value of 500 MB.

There has been an issue, since then, of the application pool recycling somewhat erratically. Well, it isn't erratic at all, it's every 60 seconds. Monitoring the process shows that the virtual memory is well below 500 MB. A simple test of just hitting the site to start the process (this sets the virtual memory to around 30 MB) and then waiting, exactly, 60 seconds shows the current process recycled and a new process started.

I can bump this number up in small increments and the time-to-live on this process seems to get a little longer. Around 750 MB, the symptoms completely disappear (as does removing the check altogether).

Maximum used memory is also checked and set at the default 192 MB.

I can find no literature that documents if this is a bug. Perhaps I'm missing some mechanic that is obvious or I'm just being stupid. At any rate, I can't just rest on "bump up the number and you won't get the error." I have to know why.


The answer is, I'm stupid. =)

Task Manager is a poor man's memory monitor and I've apparently figured that out fairly well today. Using Performance Monitor and Process Explorer, I was able to see that, indeed, my application pool was getting ~550 MB of virtual bytes on first page hit.

I still find it odd that I have a 60 second grace period before the application pool restarts, but so be it. Hopefully, this answer will help someone else that made the same mistake I did.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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