We currently have an issue in production where the data center is reporting that our servers are reaching >90% memory utilization. These server have 2GB of RAM. The data center folks are reporting that the w3wp.exe process' Private Bytes are 277,020K (Working Set 319,824K). This process, by far, is the largest consumer of memory in the system but that's not very large considering the total amount of RAM and the fact that nothing else even close to that size is running.
If we total all the working sets (for all processes) on the server we only get 473,472K. We know this is not the correct way to determine memory usage because it includes shared memory which may be "double counting" but we're trying to prove a point to our data center people. That leave slightly under 1.5GB of memory left unaccounted for.
My questions are: Has anyone ever seen something like this before? Is there a better way to troubleshoot this? Is it possible that because our server is running inside Virtual machine that somehow the memory isn't being reported correctly? Any insight or suggestions will be greatly appreciated.
Here our setup
- Virtual Machine Host: VMWare ESX Server.
- Guest OS: Windows Server 2008 Standard 32-bit Service Pack 1.
- Guest OS RAM: 2GB
- Application: Web server running a single ASP.NET application.