Iis – Is it bad if your Virtual Bytes count is high in an application pool in IIS

application-poolsiispagingvirtual-memory

Related to What does Virtual Bytes mean in Worker Processes pane in IIS7.5 Manager?

I have a server running a few different sites. We're seeing some performance and memory issues.

When I go to Worker Processes I see one of the sites with a Virtual Bytes count of 5 GB. The private bytes is a more reasonable 800 MB. The server is x64 with 8GB of memory and IIS 7.

Is it a problem that the virtual bytes count is so high, or is that a red herring? If the virtual bytes count is high, does that mean it's storing memory in the paging file which could be causing thrashing? Or does the application pool simply create a big chunk of virtual memory on Windows x64 and it doesn't affect other processes or get written to the paging file?

Best Answer

Not necessarily a problem. That virtual memory profile is what we see for the same architecture and physical memory usage.

If it were to escalate indefinitely, that would be bad and it would eventually terminate, although the operating system limit is quite high. If a large virtual memory allocation were performed, and the system did not have a large enough contiguous segment, that will result in a virtual memory allocation failure.

If you're interested in accounting for that virtual memory allocation, you can run SysInternals' VMMap. On a w3wp process running a .NET Framework application, that is typically the garbage collector managed heap. Note that when VMMap connects to the process, there will be a sustained period of intense utilization by w3wp while it collects this information - something to keep in mind.

Garbage Collection and Performance
http://msdn.microsoft.com/en-us/library/ee851764.aspx