Applying Sizing Recommendations for VM Instances

This page describes how to view and apply VM sizing recommendations provided by
Compute Engine. To learn more about the different sizing options
available to VM instances, read the
Machine Types documentation.

Compute Engine provides machine type recommendations to help you
optimize the resource utilization of your virtual machine instances. These
recommendations are generated automatically based on system metrics gathered by
the Google Stackdriver Monitoring service over the previous 8 days. Use these
recommendations to resize your instance's machine type to more efficiently use
the instance's resources. This feature is also known as Rightsizing
Recommendations.

Pricing

Sizing recommendations are available free of charge.

Limitations and use cases

Sizing recommendations are currently not available for: VM instances created
using App Engine Flexible Environment, Cloud Dataflow, or
Google Kubernetes Engine; or VM instances with ephemeral disks, GPUs, or TPUs.

In rare cases, you might see an error message when applying a recommendation.
For example, a recommended machine type might be too small for the number of
attached disks, it might not meet the resource requirements of your images or
licenses, or it might not be available in a particular zone.

The sizing recommendation algorithm is suited to workloads that follow weekly
patterns, workloads that grow or shrink over weeks of time, workloads that
persistently underutilize their resources, or workloads that are persistently
throttled by insufficient resources. In such cases, 8 days of historical data is
enough to predict how a change in the size of the machine can improve resource
utilization.

The sizing recommendation algorithm is less suited to workloads that spike less
frequently (for example, monthly spikes) because 8 days of data is not enough to
capture or predict the processing fluctuations.

For workloads where cost is more important to you than performance, such as
batch workloads, you can ignore recommendations to increase size.

Metrics used for sizing recommendations

Compute Engine monitors the CPU and memory utilization of running
virtual machines and makes recommendations using the last 8 days of data.
Compute Engine will make a recommendation if:

Your instance has had low CPU utilization most of the time.
Compute Engine will recommend a machine type with fewer virtual CPUs.

Your instance has had high CPU utilization most of the time.
Compute Engine will recommend a machine type with more virtual CPUs.

Your instance has not used a large fraction of its memory.
Compute Engine will recommend a machine type with less memory.

Your instance has actively been using a large fraction of its memory most of
the time. Compute Engine will recommend a machine type with more
memory.

Note: Compute Engine uses the same CPU utilization numbers reported
on the Compute Engine dashboard to
determine what recommendations to make. These numbers are based on the average
utilization of your instances over 60-second intervals, so they do not capture
short CPU usage spikes. Applications with short usage spikes might need
to run on a larger machine type than the one recommended by Google, to
accommodate these spikes.

Compute Engine might make recommendations to use either a standard or
custom machine type. Note that there are some limitations in the amount of
memory and vCPU available to a machine. In particular, increasing one resource
might require increasing the other at the same time, to follow the
specifications
of a valid machine type. Also, Compute Engine will only recommend
machine types that are available in the zone where the instance is running.

For cost difference estimations, the cost of an instance is based on
the previous week's usage (before sustained use discount) and is extrapolated
to 30 days. This is then compared to the recommended machine type monthly cost
(before sustained use discount). For accurate pricing and details, read the
pricing documentation.

On your list of instances, click the Columns drop-down menu on the
top-right corner to toggle one or more columns.

Enable or disable the columns that you want including Recommendation.

Look at the Recommendation column to review recommendations for
individual instances. You can also sort the column by amount of estimated
savings. If there are no recommendations next to your instances,
Compute Engine does not have any recommendations to make.

When you create a new instance, recommendations for the new instance will appear
24 hours after the instance has been created. If you change the machine type
of an instance, Compute Engine will provide any further
recommendations within 24 hours after the change.

Afterwards, virtual machine recommendations are refreshed at regular intervals
throughout the day.

Resizing instances according to recommendations

Note: You might have valid reasons for running a particular instance at very low
or very high utilization. Sizing recommendations are suggestions to help
you more efficiently use your instances but they might not be appropriate
for every situation.

If you determine that you want to apply the recommendations made by
Compute Engine, you can resize the instance directly from
the recommendations screen.

On the VM instances page, click on
recommendation text for the instance you want to resize.

A popup appears with more details and an Apply button to apply the
recommendations to the instance. Clicking this button causes Compute Engine
to stop the instance, change its machine type, and restart the instance.

Optionally, you can also click the Customize link to customize the
instance as you prefer.

Click the Apply button to apply the changes.

Dismissing recommendations

If you are done with a recommendation, you can dismiss it. Dismissing removes
a recommendation from the total savings estimate and also minimizes the
appearance of the recommendation by turning the recommendation gray.

Total savings estimate

To dismiss a single recommendation:

On the VM instances page, click the recommendation text you want to dismiss.

A popup appears with more details and a Dismiss recommendation button.

Click Dismiss recommendation.

To dismiss all recommendations, click the Dismiss all button on the VM
instances page.

Note: Dismissing a recommendation de-emphasizes it in the table but does not
hide it.

To restore a recommendation:

On the VM instances page, click the gray recommendation text you want to
restore.

A popup appears with more details and a Restore recommendation button.

Click Restore recommendation.

Using the Monitoring Agent for more precise recommendations

Stackdriver offers a
Monitoring agent that
collects additional disk, CPU, network, and process metrics from your VM
instances. You can install the Monitoring agent on your VM
instances so it can access system resources and application services to
collect this data.

If the Monitoring agent is installed and running on a VM
instance, the CPU and memory metrics collected by the agent are automatically
used to compute sizing recommendations. The
agent metrics provided by
the Monitoring agent give better insights into resource
utilization of the instance than the default Compute Engine metrics.
This allows the recommendation engine to estimate resource requirements better
and make more precise recommendations.