Monitor vRAM Usage and Licensing in vSphere 5
When VMware released vSphere 5 they also implemented a new licensing model that is based on the amount of virtual RAM (vRAM) that is assigned to virtual machines. vSphere 5 licenses are still sold by the CPU socket, but each license comes with a set vRAM entitlement that varies based on the vSphere 5 edition as shown below:
- vSphere Standard – 32GB per CPU socket
- vSphere Enterprise – 64GB per CPU socket
- vSphere Enterprise Plus – 96GB per CPU socket
If the vRAM license entitlement is exceeded you must purchase another full CPU socket license to increase it. Previously in vSphere 4 the only memory restrictions that existed were a 256GB limit on physical host memory in all editions except for Enterprise Plus which had no limits. In vSphere 5 there are no limits on the amount of physical memory a host can have, instead the limits are applied to the amount of vRAM assigned to powered on VMs. VMs that are powered off do not count against the allotment but VMs that are powered on have the full vRAM that is assigned to a VM counted towards the allotment regardless of the amount of vRAM that a guest OS is actually using. This includes all memory used by a VM, both physical host memory and any memory that a VM may be swapping to disk because of memory over-commitment.
Impact of vRAM Licensing on VMware Admins
So what does all this mean for VMware customers? This change can have a big financial impact on customers that are looking to upgrade to vSphere 5 but will need to purchase additional licenses to ensure that they are compliant with the new licensing model. But perhaps a bigger impact is that VMware administrators are going to have to do a much better job of managing their vSphere environments. No longer can you afford to waste resources and over-allocate memory to virtual machines; doing so now has a financial impact. You now have to be very careful that all virtual machines are right-sized and you do not give them more memory than they actually need to support their workloads. It also means that you need to stay on top of VM lifecycles to ensure that un-needed VMs are deleted when they are no longer needed.
The licensing change in vSphere 5 now forces you to continually micro-manage your vSphere environment which will increase administration costs. Things like controlling VM sprawl and implementing chargeback become a lot more important now that there is a financial penalty for being loose and un-attentive to your vSphere environment.
Monitoring vRAM Usage in vSphere 5
The new vSphere 5 vRAM entitlements can be used using the vSphere Client, however they will not appear in the normal licensing view within vCenter Server unless you have the optional vSphere Web Client interface installed on the vCenter Server. If you are using the new vCenter Server virtual appliance instead of the Windows version then the web client component is automatically installed.
You can check to see if the service is installed by using a web browser and typing the IP address or hostname of the vCenter Server and seeing if the web page is displayed. You can also check by looking at the Windows services and seeing if the vSphere Web Client service is present and started as shown below.
If you currently do not have the web server component installed on the vCenter Server you can install it by running the vCenter Server installation program which will launch a wizard where you can select the VMware vSphere Web Client (Server) option as shown below.
Despite the requirement for the web client service to see the vRAM entitlements you cannot actually view them using the web client. The web client service is necessary to view the reports inside the vSphere Client. Once it’s installed and running you can connect to the vCenter Server with the vSphere Client then go to Administration, Licensing and click on the Reports tab. The reports shown are a mix of the traditional licensing and the new vRAM licensing. In the Product Charts section you can click the licenses that say (vRAM) after them to see detailed information on vRAM usage as shown below.
In the screen above we see a total of 1536GB of vRAM available for VMs, this is calculated based on the total number of CPU sockets that the license is for. vRAM is pooled automatically by vCenter Server so the vRAM allotment for each license is added together and is shared amongst all the hosts managed by vCenter Server (or multiple linked vCenter Servers).
vRAM compliance with the total available is not based on a single point of time and is instead based on a 365-day moving average of daily high watermark of vRAM configured to all powered-on VMs. So it is OK to occasionally exceed the vRAM license limit as long as your average stays below the limit. You can set multiple date ranges to see vRAM usage over a specific time period. If you click on a license key it will show you a further vRAM usage breakdown of that license and show which hosts are using how much vRAM as shown below.
A Better Way to Deal With vRAM Licensing
So now you know how to check your vRAM usage, this can be a pain in the butt to continually monitor to ensure that you stay in compliance. It’s even a bigger pain to micro-manage your environment to ensure that VMs have their vRAM right-sized and any VMs that are no longer needed are powered off and deleted. vCenter Server does not do a very good job of reporting and managing vRAM usage. The way it was implemented in vCenter Server almost seems like it was an afterthought. This was most likely done because VMware did not want to tip their hand to customers on the licensing changes during the product beta and RC period.
To make it easier to deal with the new vRAM licensing you really need a more robust reporting and monitoring product that can stay on top of vRAM licensing and help you manage it and plan for future growth. You also need to continually look for over-sized, stale or zombie VMs which can be very time consuming and difficult as you can’t just look at your VMs at the virtualization layer. You really need to look inside the guest OS to see if there is any activity occurring to determine if a VM is not doing anything anymore. You also need to analyze the memory usage of the guest OS and applications running inside a VM to ensure that you have not over-allocated the amount of vRAM that they have.
Many are struggling with understanding the implications of the new vSphere 5 licensing model in their environment. Turning to a 3rd party product can provide you with much more robust reporting and monitoring of your whole virtual environment to help manage your vRAM compliance. SolarWinds Virtualization Manager can help with that and can provide you with widgets and dashboards to help you track the total vRAM pool, host CPU sockets and the number of vSphere 5 licenses required for each edition.
Keeping your virtual environment as lean and efficient as possible is the key to staying compliant with vRAM licensing and ensuring that you are not needlessly buying additional licenses when they are not needed. Virtualization Manager can help you by providing better monitoring and reporting then you get with vCenter Server and also allow you to implement chargeback so you can have better control over your host resources. The new vSphere 5 vRAM licensing makes better management of your virtual environment an absolute must, having a tool like SolarWinds Virtualization Manager is the key to help you avoid any vRAM headaches.