VMware Cloud Community
romatlo32
Enthusiast
Enthusiast
Jump to solution

Memory usage reported in vCenter different than Windows?

Hello folks,

I am reading this article, but not yet understanding fully.

I see that vCenter VM Monitor Performance tab says the VM is consuming 6GB of its 20GB allocated.

When I log into the VM, Windows Server 2K12R2 says 15GB!

So I am trying to figure out which metric to rely on when trying to decide if adding virtual memory is helpful.

Anyone have insight for this?

Memory Performance Chart Metrics in the vSphere Client

0 Kudos
1 Solution

Accepted Solutions
daphnissov
Immortal
Immortal
Jump to solution

Again, the response "it depends" is once again appropriate. Windows is much more conservative when it comes to how much memory is in use because it has a different sampling algorithm than ESXi. For example, applications like SQL and Exchange will, if left unchecked, claim all available memory and write zeros to it. ESXi does not consider this "used" memory because there are no active pages being altered in that memory space while Windows has a different perspective. While ESXi can infer the current state of memory of a given VM, the true indicator is from the OS' or application's perspective.

View solution in original post

0 Kudos
3 Replies
daphnissov
Immortal
Immortal
Jump to solution

This is a much more complicated subject than it seems. vCenter (by way of ESXi) and Windows measure memory usage in wildly different fashions. The answer is "it depends". ESXi is looking at the active working set of page exchanges within the VM while Windows (depending on where you gathered this information) is displaying a different set. The only true way to know is to look at a combination of perfmon and your application to see what the situation is with memory.

0 Kudos
romatlo32
Enthusiast
Enthusiast
Jump to solution

Thank you for that.  Sounds like I should be using the Windows OS numbers instead of VMware.

0 Kudos
daphnissov
Immortal
Immortal
Jump to solution

Again, the response "it depends" is once again appropriate. Windows is much more conservative when it comes to how much memory is in use because it has a different sampling algorithm than ESXi. For example, applications like SQL and Exchange will, if left unchecked, claim all available memory and write zeros to it. ESXi does not consider this "used" memory because there are no active pages being altered in that memory space while Windows has a different perspective. While ESXi can infer the current state of memory of a given VM, the true indicator is from the OS' or application's perspective.

0 Kudos