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 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.
share|improve this question
1  
What else is installed on the VM? Anti-Virus, VMware Tools, SQL Express, etc? –  mrdenny Jun 28 '10 at 19:29
    
doesn't w2k8 use prefetch so that in theory it should appear that your almost out of ram,even though your not? –  tony roth Jun 28 '10 at 19:37
    
that .net application, is it holding a lot of session variables in memory? Is it in-process, or State Server? –  Malnizzle Jun 28 '10 at 19:45
    
@mrdenny, I couldn't tell you what apps are running exactly - in addition to our ASP.NET application - because we don't control the environment but I did get a list of running processes and their memory utilizations. Like I mentioned in the post everything totals to 473,473K. They are not allowed to run anything other than utilities and server monitoring tools so I would assume that antivirus is running but I'd just be guessing. Also, no SQL Express - this box is just running our web server - SQL is a separate box. –  Jeronimo Colon III Jun 28 '10 at 20:40
    
@tony roth, Not sure how that would affect the appearance of memory utilization. I'd have to look into that. What I can tell you is in our Dev & QA environments we don't see this behavior but those boxes are not using VMWare. –  Jeronimo Colon III Jun 28 '10 at 20:42
show 5 more comments

3 Answers 3

Maybe you should adjust the memory used by your IIS application pool ? Or configure it to recycle more often ?

share|improve this answer
add comment

Jeronimo, if your datacenter admins are checking memory utilization as reported in VMWare, that will always appear to be almost maxed out due to the prefetch behavior that Tony Roth mentioned. The VMWare Tools don't see the difference.

share|improve this answer
add comment

I think VMware uses extra memories to process it virtual machines. This happened to me before and I end up allocating more memories to each VMs. Also, if you install VM Tools to the guest machines, it helps with those memories utilization.

share|improve this answer
    
Do you have any sources on this? –  Frederik Nielsen Nov 25 '12 at 20:59
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.