Vmware memory usage shows differently from linux – Managing your servers can streamline the performance of your team by allowing them to complete complex tasks faster. Plus, it can enable them to detect problems early on before they get out of hand and compromise your business. As a result, the risk of experiencing operational setbacks is drastically lower.
But the only way to make the most of your server management is to perform it correctly. And to help you do so, this article will share nine tips on improving your server management and fix some problem about linux, vmware-esxi, memory, , .
I have a new system running under VMware, and I’m just trying to make sense of the memory use.
In vSphere client, it shows me active using 335,544 KB:
However, linux shows me using 3,146,148 KB:
root@PFDEV-SVN:~# free -k total used free shared buffers cached Mem: 4118636 3146148 972488 0 477216 1268364 -/+ buffers/cache: 1400568 2718068 Swap: 6040400 0 6040400
Why is this so different? Am I just reading this incorrectly?
This is Ubuntu 9.10, without vmware tools installed, running on an ESXi server.
There is a detailed white paper on the topic of memory management and calculations of the active memory working set size.
It basically all boils down to the fact that a guest is not using all the memory that has been assigned to it all the time. Instead, only certain ranges of memory are considered “active” at a particular time period, making the “inactive” memory a candidate for swapping, if you happen to overcommit your physical memory. You should look at the “consumed” memory if you want to roughly match it up with the memory usage within your host (deviations due to memory pages shared across several VMs may occur).
One would hope that they do not match. One of the purposes of virtualization is to allow many OSes to reside on 1 physical system. One of the things noted when building a hypervisor (like ESX or hyper-v) is tha toperating systems often do not actually use all of the ram allocated to them. hypervisors will accordingly make thta physicla ram available to other OSes allowing you to “overcommit” on the amount of ram available. the downside to overcommiting is that should you run into a situation where each OS actually uses the amout of ram allocated, performance will degrade.