How can I determine the resource requirements of a virtual machine?
Every virtual machine requires CPU cycles, memory space, network I/O and storage to support the installed applications. Most hypervisors effectively identify and pool computing resources, but they do not parcel out VM resources as effectively, though this capability continues to improve.
Further reading on VM resources
Crafting a VM resource allocation strategy
How resource distribution prevents server overconsolidation
Employing vSphere tools for optimal resource distribution
In many cases, the hypervisor will provision a predetermined amount of resources to the VM upon creation, based on an established image that typically allocates more resources than necessary. The administrator is then responsible for tweaking those resources as needed.
Admins can use the recommended system requirements of an application to gauge its resource requirements, even though the recommendation might be overkill. You could also benchmark the application running in a physical server environment, thus measuring the actual CPU, memory and network bandwidth use and allocating resources to meet the peak requirements measured over time. For example, a simple tool such as Performance Monitor (PerfMon) in a Windows Server environment can help identify major resource use.
The key to application benchmarking is to make measurements over time so that you can identify any unusual peaks in resource use. For example, a benchmark taken during evening hours when workload use is light could give you a false sense that the application requires few resources. Similarly, applications such as payment processing might only see significant use on a few days each month. Be sure to run benchmarks during that peak time frame before allocating resources.
Once you have a picture of the workload's requirements, you can adjust computing resources directly through the VM's tab in the hypervisor console.
Dig Deeper on Virtual machine provisioning and configuration
Related Q&A from Stephen J. Bigelow
WET code leaves apps bogged down. Learn how to reduce the challenges brought on by code redundancy by programming based on the DRY principle. Continue Reading
A virtualization layer in an embedded system provides better efficiency for tasks such as network virtualization. Some examples of embedded ... Continue Reading
An embedded hypervisor offers several benefits, such as VM security, system reliability and improved hardware use, and is ideal for admins looking to... Continue Reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.