[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 449
  • Last Modified:

Explain VMWare virtual machine resource allocation

I currently have a VMWare VDI environment with 28 desktop VMs on one ESX server. All of the VMs are set to unlimited resources. I am looking to increase the amount of VMs to around 52 with additional ESX servers. I do not want to leave the resources set at unlimited, but before I decide how to divide them up I would like to understand them more. I have read every document I can find from VMWare concerning this topic so I am not looking for a link. What I am looking for is an explanation or scenario in plain English that will help me understand the relationship between virtual resources used by the VMs and the physical ones on the ESX server.
0
jhawk3
Asked:
jhawk3
  • 2
  • 2
2 Solutions
 
garycaseCommented:
Not really much to explain.     The most significant limitation with virtual machines is memory -- if you have less physical memory than the active VMs require you can notice a significant reduction in performance due to paging.    But as long as there is sufficient memory to allocate to all active VMs, the other resources (disk storage in your storage pool(s), I/O ports, etc.) are assigned as needed unless you have restricted them (which you have not).

You've already read the VMWare documentation, so there's not much to add regarding the process -- you just need to decide what limits you want to place on which machines and set their parameters accordingly.     The reality is that for most situations it's not a problem to simply leave them unlimited -- limits will, however, ensure that some runaway application on one of the VMs can't suddenly fill up your storage pool, saturate your network resources, etc.
0
 
jhawk3Author Commented:
So, I can only allocate the amount of physical resources that the server has installed? i.e server has 16GB of RAM, total memory of all VMs should not exceed 16GB? Is this the same for CPUs?
0
 
garycaseCommented:
No, you can allocate far more than the server actually has -- but then if you actually run VMs that require more, the performance will be notably impacted.

Memory is the most notable issue -- if you have 16GB of RAM, but try to run VMs that need 18GB, then there will be frequent page faults, which will cause a very noticeable drop in performance.

CPUs are less of an issue -- sharing CPU time doesn't cause the massive degradation that page faults do [remember, a page fault is thousands of times slower than actual memory accesses].
0
 
jhawk3Author Commented:
When powering on a VM, does it immediately consume that 18GB if no reservations are set? Or if no limits are set, it has the ability to consume that much RAM?
0

Featured Post

Get free NFR key for Veeam Availability Suite 9.5

Veeam is happy to provide a free NFR license (1 year, 2 sockets) to all certified IT Pros. The license allows for the non-production use of Veeam Availability Suite v9.5 in your home lab, without any feature limitations. It works for both VMware and Hyper-V environments

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now