We're Hiring!
Take the next step in your career and work on diverse technology projects with cross-functional teams.
LEARN MORE
Mountain West Farm Bureau Insurance
office workers empowered by business technology solutions
BLOG
10
4
2016

Tips to Manage Resource Pools in Your VMware Cloud

Last updated:
9.16.2020
No items found.
VMware resource pool examples. Source: VMware

Resource pools in VMware powered clouds are one way to manage all available server resources and divide them among your virtual machines (VMs). They are essentially folders for your VMs that direct the server to allocate a certain amount of resources to a specified group of VMs in a hierarchy.

Resource pools are generally used to prioritize certain VMs over others, for reselling resources outside of your organization, and for isolating groups of VMs within performance standards, like when setting up a pool for Testing and Development vs. Production. Access controls are another reason to use resource pools – administrators can delegate a single pool of resources to a team member based on permissions.

Here are some tips to help you efficiently manage the CPU and memory allocated to your cloud servers.

 

Each resource pool can be defined by reservation, limit, shares, and expendability. Each pool can also have child pools underneath it that are further subdivided. All pools then contain VMs. Resource pools require Distributed Resource Scheduler (DRS), which is only available with certain license levels.
 

Creating a resource pool in vSphere Web Client

In the main navigator view of vSphere Web Client, select a host, resource pool, or a DRS cluster, then right click and choose All vCenter Actions > New Resource Pool. Pick a descriptive (or maybe funny, for this test run) name and then specify your shares, reservation, expandable reservation, and limit.

Shares are how you define priority for the resource pool. Typical share values are 2:4:1, where the values correspond to a Normal, High, and Low priority, but you can also set custom share values. When resources are not enough to cover all of your virtual machines, these settings will determine where to allocate them.

Limits are, as you might suspect, the maximum amount of each resource that can be used by the pool. Servers will never allocate more than the limit to a single virtual machine, so if you set the memory limit to 2GB, each VM in that resource pool can only have a maximum of 2GB of memory at a time.

Reservations are the opposite of limits in that they are the baseline resource assigned to each VM. A resource pool with a reservation limit of 8GB of RAM will split that 8 GB among all VMs within that pool, VM1 might have 1GB, VM2 might have 0.5GB, and VM3 might have 3GB, leaving 3.5GB for a fourth virtual machine.

 

Don’t use resource pools simply as folders

Resource pools should be used to allow greater performance to specific VM groups, not simply to logically separate your virtual machines. A better way is to label and sort them using folders. Right click a parent object and select All vCenter Actions, then either New Host and Cluster Folder, New Network Folder, New Storage Folder, or New VM and Template Folder. You can also place folders within folders. Move objects into your folder by right clicking and selecting Move To.

 

Be careful using shares to prioritize

Going back to our test/dev and production example, if you want to prioritize your production servers using shares, you must take into account the number of virtual machines within the resource pool. If you have more production servers than test servers, even with more resources allocated to the production pool, the test servers might end up with more CPU shares.

That sounds strange, but doing the math reveals why. Let’s say you have 100 VMs in production and 50 VMs in test/dev. You set the shares to 70% of CPU for Production and 40% for test/dev. If you’re splitting 100 CPU cores between them, then each VM in production gets 0.7 cores, while each VM in test/dev gets 0.8 cores.

If you change the number of VMs in your resource pools, you’ll need to adjust the shares to maintain performance levels according to these ratios. To edit resource pool settings, select it, click the Manage tab, and click Settings.

FIXED VS. EXPANDABLE POOLS

When adding a VM to a resource pool, the system will check to make sure the resource pool has enough resources. When configuring a pool, you’ll choose from either Fixed or Expandable reservation types to configure this check.

With Fixed, the system allows the operation or denies it based on whether there are enough enreserved resources.

With Expandable, which is the default setting, the system looks at the pool and its parent pool as well. If the parent pool has Expandable Reservation enabled, it can donate resources to the children resource pools beneath it. Be sure you do not end up overprovisioning in this case, and remember that even with Expandable selected, the system will never exceed the Reservation and Limit settings you have configured.

 

Still need help with resource pools or organizing your VMs and resources for top performance? A managed cloud solution will keep your applications available and in tip-top performance.

Recent Blog Posts

lunavi logo alternate white and yellow
3.13.2025
3
.
12
.
2025
Unlocking the Power of Azure Managed Services with Lunavi

Cloud computing has become the backbone of modern business, offering agility, scalability, and cost efficiency. But managing cloud environments while keeping costs under control and security airtight? That’s a challenge. Azure Managed Services streamline cloud operations, helping businesses optimize spending, enhance security, and future-proof applications. Lunavi provides the expertise and tools to make it happen—so you can focus on growth instead of IT headaches.

Learn more
lunavi logo alternate white and yellow
2.11.2025
2
.
7
.
2025
The Future of Test Automation: Key Trends Shaping 2025 and Beyond

Software testing has gone from a chore to a game-changer, thanks to automation. But in 2025, sticking to old methods means falling behind. Stay ahead by embracing the future of test automation—let’s explore the key trends shaping what’s next.

Learn more
lunavi logo alternate white and yellow
2.11.2025
1
.
23
.
2025
The Importance of Cross Browser Testing

Making sure users have a smooth experience across all these platforms is crucial for businesses to stay competitive. Cross-browser testing is now a key part of modern development. It helps teams find and fix problems like layout issues, broken features, or slow performance before users are affected. Let’s look at why cross-browser testing matters and explore tools that make it easier to get the job done.

Learn more