Using VM data from the virtualization platform (and optionally from third-party performance monitoring tools), Embotics® vCommander® issues CPU and memory rightsizing recommendations for VMs.

Rightsizing means ensuring that all VMs in your virtualized infrastructure are allocated the correct resources for their workload, with the goal of minimizing cost and maximizing performance.

Once you've decided a VM should be rightsized, depending on your permissions, you can:

submit a change request to apply the recommendation

apply the recommendation in the VM's maintenance window

schedule the recommendation to be applied later

apply the recommendation immediately

You may decide to ignore certain recommendations. You may also decide that you don't want to see rightsizing recommendations for particular VMs.

Notes:

You may need to configure memory metrics monitoring to enable memory rightsizing recommendations for Amazon EC2 VMs. See Monitoring Memory Metrics for Amazon EC2 Linux Instances and Monitoring Memory Metrics for Amazon EC2 Windows Instances.

Rightsizing recommendations for Azure Resource Manager VMs are based on CPU metrics only.

vCommander does not make rightsizing recommendations for Azure Classic VMs.

NotePencil-smallRightsizing recommendations are just one feature of vCommander cloud cost optimization. See Cost Optimization and watch our Cloud Cost Optimization video to learn about other features that work together to reduce your cloud costs.

Why rightsize?

There are several reasons to rightsize your VMs:

Over-allocation wastes expensive server resources and decreases ROI for the infrastructure.

Configuring a VM with more virtual CPUs than its workload may cause slightly increased resource usage, potentially impacting performance on very heavily loaded systems. Common examples of this include a single-threaded workload running in a multiple-vCPU VM, or a multi-threaded workload in a VM with more vCPUs than the workload can effectively use. Even if the guest operating system doesn't use some of its vCPUs, configuring VMs with those vCPUs still imposes some small resource requirements that translate to real CPU consumption on the host.

Allocating enough memory to hold the working set of applications you will run in the VM minimizes swap activity and the associated disk thrashing.

Allocating more memory than required unnecessarily increases the VM memory overhead, thus consuming memory that could be used to support more VMs.

Over-allocation of vCPU causes performance problems on heavily loaded hosts (all vCPUs need to be scheduled to run at the same time).

In the VMware context specifically, VMs with less memory and/or fewer vCPUs provide more opportunities for VMware DRS to migrate them in order to improve balance across the cluster. VMs with larger memory sizes and/or more vCPUs add more constraints for migration. It's also easier to manually distribute and balance smaller workloads across the available hosts.

For managed service providers, rightsizing can be used to increase billable resources sold to customers.

How does rightsizing work?

To ensure that vCommander makes accurate recommendations, recommendations are generated only if a VM has a sufficient number of performance samples (the sample size) within the sample period. Performance samples are taken each night, or when manually requested by a user. Only the most recent performance sample for each 24-hour period is used. The VM must be powered on for performance to be updated, but it does not need to be powered on continuously.

The sample size and sample period are configurable, but by default, vCommander must have at least seven days of performance samples within the last 30 days to generate recommendations for a VM.

After a recommendation has been applied, vCommander does not make any further recommendations until the required number of samples (the sample size) has been gathered. The sample period ensures that vCommander gets sufficient data following the change to properly re-evaluate performance.

NotePencil-smallPurging VM performance data can affect rightsizing recommendations by deleting performance samples.
Memory recommendation details

By default, memory rightsizing recommendations are between 12.5% and 25% of total memory size. For example, for VMs with between 1024 MB and 2048 MB total memory, vCommander recommends a memory change of 256 MB.

NotePencil-smallYou can specify that vCommander recommend an immediate downsize to the recommended CPU and memory levels by configuring "aggressive" rightsizing. Aggressive rightsizing applies only to vCenter and SCVMM VMs.

Memory rightsizing recommendations are not generated for VMs with less than 128 MB or more than 1 TB of memory. vCommander will not generate a memory upsize recommendation that will result in the VM having more memory than is available on the host.

You may need to configure memory metrics monitoring to enable memory rightsizing recommendations for Amazon EC2 VMs. See Monitoring Memory Metrics for Amazon EC2 Linux Instances and Monitoring Memory Metrics for Amazon EC2 Windows Instances.

vCommander does not make memory rightsizing recommendations for SCVMM VMs with static memory, or for Azure Classic VMs.

Instance Type recommendation details

Based on CPU and memory performance data, vCommander will recommend upsizing or downsizing the instance type by one level, within the same instance type family. Examples of instance type families are t2 and m3. For example, vCommander may recommend changing the instance type from m1.small to m1.medium.

Because rightsizing recommendations for Azure Resource Manager VMs are based on CPU metrics only, we recommend that you check the VM's memory performance before applying a recommendation.

vCommander does not make upsizing recommendation for VMs at the top level of an instance type family (for example, m3.2xlarge), or downsizing recommendations for VMs at the bottom level of an instance type level (for example, m3.medium).

If performance indicates that a change should be made to the instance type, but the recommended instance type is not supported due to other instance settings (such as disk encryption), a recommendation will not be made.

vCommander does not make any recommendations for the t1.micro instance type, because there are no other instance types in the t1 family.

For VMs in AWS auto scaling groups, see also Special considerations for auto scaling groups.

What conditions cause vCommander to generate recommendations?

To see what rules vCommander is using to generate recommendations, go to Configuration > Groups > Rightsizing, or click Rightsizing Rules at the bottom of the Recommendations page.

You must have the Superuser or Enterprise Admin role to configure these rules.

What if VM changes occur outside the recommendation system?

VM resource configuration changes may occur outside the recommendation system, so that recommendations are fulfilled or no longer apply. vCommander keeps track of these changes and adjusts recommendations accordingly.

If the CPU, memory or instance type for a VM is changed (inside or outside vCommander) so that a recommendation is satisfied, the recommendation is marked as applied and removed from the recommendations list.

If any of the following occur, vCommander will rescind a recommendation and will gather the required number of samples before making another recommendation:

The CPU, memory or instance type for a VM is changed (inside or outside vCommander), but the change is contrary to the recommendation

The VM performance changes such that it falls below the rightsizing recommendation threshold

Likewise, if a VM's CPU count, memory, instance type or host have changed within the last seven days, vCommander will not make recommendations. vCommander only uses performance data gathered when the VM's configuration matches the current configuration.

If a VM is migrated to another host, by default, upsizing recommendations are rescinded, but downsizing recommendations persist. When recommendations are rescinded after migration, vCommander does not generate new recommendations until the required number of performance samples are collected within the sample period. To change this behavior, see Configuring Rules for VM Rightsizing.

How can host or cluster performance affect VM memory rightsizing recommendations?

Adding more memory to a VM can actually degrade performance of the host or cluster. For example, on a host with 4 GB of memory, if the VMs are using all but 256 MB of that memory, adding 512 MB to one VM on that host might cause performance issues on the host. Likewise, adding memory to a VM that has a high ESX swap rate (indicating that the host is overcommitted) can also cause performance issues on the host.

To prevent this problem, if the memory capacity of the host or cluster is less than two VM workloads, memory rightsizing recommendations include a capacity warning. For example:

The capacity of the host is low - 1 workload(s) remaining. Increasing memory usage may negatively impact performance.

Integration with Splunk to gather guest OS performance data

If vCommander is integrated with Splunk, Windows guest OS performance data helps vCommander determine whether to make a recommendation. Here are a few examples of cases in which Windows guest OS data would prevent vCommander from generating a recommendation:

Performance data from VM

Performance data from Guest OS

Why vCommander does not generate a recommendation

VM has high memory usage.

No guest swapping has occurred over the last week.

The VM is perfectly rightsized for memory. Increasing the VM's memory would increase cost without a performance improvement.

VM has high memory usage. Hypervisor performance indicates that guest ballooning is occurring.

High guest swapping has occurred over the last week.

Ballooning is generally caused by host overcommitment or by a memory limit on the guest. Increasing the VM's memory could make the problem worse.

Hypervisor performance indicates a high CPU ready rate.

VM has high guest CPU usage.

A high CPU ready rate is generally caused by host overcommitment or by a CPU limit on the guest. Increasing the VM's CPU count could make the problem worse.

Required Service Portal permissions

Several Service Portal permissions relate to rightsizing recommendations.

The Show Recommendations: Cost Increase permission allows users to view upsizing recommendations and ignore upsizing recommendations. Users with this permission can also prevent both upsizing and downsizing recommendations for individual VMs and allow new upsizing and downsizing recommendations after ignoring or excluding.

The Show Recommendations: Cost Decrease permission allows users to view downsizing recommendations and ignore downsizing recommendations. Users with this permission can also prevent both upsizing and downsizing recommendations for individual VMs and allow new upsizing and downsizing recommendations after ignoring or excluding.

Users with this permission can also prevent both upsizing and downsizing recommendations for individual VMs and to allow new upsizing and downsizing recommendations after ignoring or excluding.

NotePencil-smallIf you grant both Show Recommendations: Cost Increase and Show Recommendations: Cost Decrease permissions, users can use the Column Selection dialog to add up to four columns of recommendation properties to VM tables. If you grant only one of these permissions, users cannot view recommendation details in VM tables; the columns are not available in the Column Selection dialog.

What users see in the Recommendations command menu is controlled by several permissions:

rightsize_apply_portal

The Request Service Change option requires the Request Service Change permission. This option allows users to submit a change request to apply a recommendation. Requiring users to submit a change request ensures that rightsizing recommendations go through the request approval process.

The Apply In Maintenance Window option requires the Schedule Maintenance Tasks permission.

The Apply Immediately option requires the Modify VM CPU & Memory permission.

The Schedule option requires the Schedule Tasks permission and the Modify VM CPU & Memory permission.

The Ignore and Exclude VM commands require the Show Recommendations: Cost Increase or Show Recommendations: Cost Decrease permissions.

See Customizing Service Portal Roles for End Users to learn how to configure permissions.

Viewing rightsizing recommendations

Access through:

Tools menu > Recommendations

or

VM Summary tab

Available to:

Any level of access rights on the VM

Viewing all rightsizing recommendations

To view all rightsizing recommendations, go to Tools > Recommendations.

You can easily filter a long list by entering text in the filter field. For example, to view only memory rightsizing recommendations, enter memory in the filter field. To view only instance type (public cloud) rightsizing recommendations, enter instance type in the filter field. To view only downsizing recommendations, enter down in the filter field.

rightsize_filtered
NotePencil-smallIf a user has applied a recommendation, the action is displayed in both the list view and the table view. In the table view, the action is displayed in the Action Taken column. For example, if a user submitted a change request to apply a recommendation, the list view displays "Some recommendations are requested", and the table view displays "Change Request" in the Action Taken column.
Viewing rightsizing recommendations for a single VM

To view rightsizing recommendations for a single VM, navigate to the VM in the tree and view its Summary page. If there are current recommendations, a pop-up box is displayed. Click the pop-up to view the details.

rightsize_vm

Viewing a VM's rightsizing group

All VMs belong to a rightsizing group. The rightsizing group determines the rules used to generate rightsizing recommendations. There are two ways to view a VM's rightsizing group: add a property to the VM's Details pane, and add a column to the Virtual Machines list.

To add the Rightsizing Group property to the VM Details pane:

1.Select a VM in the tree or double-click a VM on the Virtual Machines tab.

2.On the Summary tab, in the Details pane, click gear.

3.In the Property Selection dialog, scroll to the Recommendations category.

4.In the Hidden Properties list, double-click Rightsizing Group to move it to the Shown Properties list.

5.Use the Move Up and Move Down buttons to move the property to where you'd like it.

6.Click OK.

The VM's rightsizing group is now displayed in the VM Details pane.

To add the Rightsizing Group column to the Virtual Machines list:

1.Go to the Virtual Machines tab.

2.Right-click anywhere in the list and select Pick Columns.

3.In the Column Selection dialog, scroll to the Recommendations category.

4.In the Hidden Columns list, double-click Rightsizing Group to move it to the Shown Columns list.

5.Use the Move Up and Move Down buttons to move the column to where you'd like it.

6.Click OK.

The Rightsizing Group is now displayed as a column in the Virtual Machines list.

To set the VM rightsizing group, see Configuring Rules for VM Rightsizing.

Finding VMs with recommendations

Access through:

Tools menu > Search or Virtual Machines tab

Available to:

Any level of access rights on the VM

You can use the following properties to find VMs with recommendations:

Has Recommendations

Recommendation Annual Cost Savings

Recommendations Instance Type Down

Recommendations Instance Type Up

Recommended CPU Change

Recommended Instance Type

Recommended Memory Change (GB)  

All of these properties are in the Recommendations category.

To find all VMs with a recommendation that will save more than $100 per year, for example, just search for VMs where the Recommendation Annual Cost Savings is greater than 100.

recommendations-listgrid

To find all VMs with a recommendation that will cost more than $100 per year, search for VMs where the Recommendation Annual Cost Savings is less than -100.

recs-neg-savings

VMs that have only ignored recommendations, or only recommendations that have already been applied, are not shown.

NotePencil-smallYou can also add the rightsizing properties listed above to VM tables. See Choosing categories of VM columns to display to learn how.
Examples

Find all VMs owned by the Development organization where the recommendation cost savings is more than $200:

rightsize_query

Find all VMs with a CPU Down recommendation of more than 1 CPU:

rightsize-query-recc-cpu-chg  

Find all VMs with a Memory Down recommendation:

rightsize-query-mem-down

Applying rightsizing recommendations

Access through:

Tools menu > Recommendations

or

VM Summary tab

Available to:

Operator or higher access rights on the VM

If you decide that a recommendation should be applied, you can submit a change request, apply the recommendation immediately, or schedule it for later, depending on your permissions. Submitting a change request is the recommended method, so that the recommendation goes through the request approval process.

Notes

When a recommendation is applied, running VMs are powered off, reconfigured, and powered on again. Note that if the power-on is unsuccessful, the change is not reverted.

vCenter: If you've enabled CPU Hot Add, CPU Hot Remove or Memory Hot Add for the VM, changing CPU and/or memory resources is considered a non-disruptive change.  

A scheduled recommendation task will be carried out even if the VM's performance changes, or if the recommendation is ignored or rescinded. However, you can cancel or edit a scheduled recommendation.

Because instance type rightsizing recommendations are based on CPU metrics only, we recommend that you check the VM's memory performance before applying a recommendation.

You can apply recommendations from Tools > Recommendations and from the VM Summary tab. The instructions for both are similar, but this procedure assumes you're viewing recommendations from the VM Summary tab.

To apply a recommendation:

1.To apply a recommendation, click Apply.

NotePencil-smallTo apply multiple recommendations simultaneously, go to Tools > Recommendations and select table-view-20x20 to access the Table view. Ctrl-click or Shift-click multiple recommendations and click Apply.

2.In the Apply Recommendation dialog:

To submit a change request, click Request Service Change. Review the request details, add a comment if desired, and click OK.

To apply the changes during this VM's maintenance window, select Apply In Maintenance Window. The time of the next maintenance window is displayed in the dialog.

To apply the changes immediately, click Apply Immediately.

To apply the changes later, click Schedule. In the Configure Scheduled Task wizard, enter a date and time for the recommendation to be applied. Confirm the schedule and click Finish.

Canceling or editing a scheduled recommendation

When you schedule a rightsizing recommendation in the VM's maintenance window, you can cancel the scheduled task, but you cannot edit it.

When you schedule a rightsizing recommendation with the Schedule option, you can cancel it and edit it.

Any user who is able to see a scheduled rightsizing task can delete it.

To view, cancel or edit a scheduled recommendation, go to Tools > Scheduled Tasks.

For more information, see Scheduling Tasks.

Ignoring rightsizing recommendations

Access through:

Tools menu > Recommendations

or

VM Summary tab

Available to:

Operator or higher access rights on the VM

If you decide that a recommendation should not be applied, you have a few options. When you click Ignore or Ignore All for a recommendation you can:

ignore the recommendation for a specified number of days. The recommendation disappears from the list. After the specified number of days has passed, another recommendation may be made.

ignore the recommendation until new performance data is available. The recommendation disappears from the list. After the required number of samples have been acquired for the VM, a new recommendation of this type may be made.

For a VM that is always powered on, it doesn't matter which of these two options you pick, because performance data is gathered nightly for powered-on VMs. For a VM that is only powered on one day per month, though, if you chose the second option, it would take longer to make a recommendation.

You can also ignore a recommendation forever. The recommendation disappears from the list.  No more recommendations of the same type and direction for this VM will be generated. For example, if you ignore a Memory Upsize recommendation forever, Memory Downsize, CPU Upsize, and CPU Downsize recommendations may still be generated for this VM.

NotePencil-smallTo ignore multiple recommendations simultaneously, go to Tools > Recommendations and select table-view-20x20 to access the Table view. Ctrl-click or Shift-click multiple recommendations and click Ignore.

Preventing recommendations for a VM

Access through:

Tools menu > Recommendations

or

VM Summary tab

Available to:

Operator or higher access rights on the VM

You may not want to see any recommendations for a particular VM. For example, if one of your customers has requested and is paying for a VM with 16 GB of RAM, you will never rightsize this VM. If you don't want to see recommendations in this case, you can exclude the VM from rightsizing recommendations.

To prevent the generation of recommendations for a particular VM:

1.From the Recommendations list or from the recommendation alert on the VM's Summary tab, click Exclude VM.

NotePencil-smallTo exclude multiple VMs simultaneously, go to Tools > Recommendations and select table-view-20x20 to access the Table view. Ctrl-click or Shift-click multiple recommendations and click Exclude VM.

2.In the Exclude VM dialog, provide a reason if desired and click Exclude VM.

Allowing new recommendations after ignoring or excluding

Access through:

Tools menu > Recommendations

Available to:

Operator or higher access rights on the VM

If you change your mind after you ignore a recommendation, you can allow new recommendations of that type. In this case, the recommendation you originally ignored is closed.

Likewise, if you change your mind after you exclude a VM from rightsizing recommendations, you can remove the exclusion, so that you will see recommendations for the VM.

To allow new recommendations for a VM after a recommendation has been ignored, or a VM has been excluded from recommendations:

1.Under Ignored Recommendations, click View ignored recommendations.

2.In the Ignored Recommendations pop-up list, select a row.

3.For a VM with ignored recommendations, click Allow new recommendations.

The VM disappears from the Ignored Recommendations list, the original recommendation is closed, and another recommendation for this VM can be generated.

4.For a VM that has been excluded from recommendations, click Remove Exclusion.

The VM disappears from the Ignored Recommendations list, and recommendations for this VM can now be generated.

Handling conflicting recommendations

Access through:

Tools menu > Recommendations

Available to:

Operator or higher access rights on the VM

You may occasionally see conflicting recommendations. For example, the VM metrics may result in an upsize recommendation, while the guest OS metrics result in a downsize recommendation. If this occurs, both recommendations are displayed, so that you can view the details and decide which one to apply.