Compute Engine
Learn how Rightsize sizes Compute Engine instances, and the access it needs.
On GCP accounts, Rightsize sizes Compute Engine VM instances. It recommends a smaller or cheaper machine type, a larger one when an instance runs near capacity, or a stop for an idle instance.
What Rightsize Covers
Rightsize sizes Compute Engine VM instances, including the nodes of GKE (Google Kubernetes Engine) Standard node pools, which GCP bills as Compute Engine instances. It sizes each instance on its own. It does not size persistent disks.
Rightsize does not suggest a shared-core E2 machine type (e2-micro, e2-small, or e2-medium) as a target. For an Arm machine type (t2a, c4a, or n4a), Rightsize recommends only another Arm machine type. GPU machine types (g2, a2, and a3) are not sized.
Grant Monitoring Access
Rightsize reads utilization from Cloud Monitoring. It needs the Monitoring Viewer role (roles/monitoring.viewer), granted to the same North principal that reads your billing export. With the Monitoring Viewer role, North has read-only access to Cloud Monitoring data and configurations, such as dashboards and alerting policies.
To grant access, complete these steps in the Google Cloud console:
Open the metric scope for your billing project.
Add all the projects you want Rightsize to analyze to the scope.
Grant North the Monitoring Viewer role.
Monitoring access is granted per project. A project outside the metric scope is not analyzed.
When Rightsize cannot read metrics for any resource on the account, the page shows Connect Cloud Monitoring to analyze this account. Select Grant access to start the grant. When only some projects are missing access, a banner above the page lists how many resources are excluded and which projects they belong to. Select Show affected resources to see them, or Grant access to complete the grant.
How Rightsize Sizes an Instance
Rightsize reads these Cloud Monitoring metrics over the lookback window: CPU utilization, network bytes sent and received, and memory used. On a GCP account, the maximum Metric lookback is 42 days. Metric lookback is an account-wide setting, under Advanced in Settings.
Memory data comes from the Ops Agent. Without the agent, Rightsize can lower the vCPU count but never lowers memory. The panel then shows "Sized on CPU only. Install the Ops Agent to include memory."
The Sizing Target
Rightsize measures CPU and memory at the CPU percentile setting, which is P99 by default. A candidate machine type fits when that measured usage, scaled to the candidate's vCPU and memory, stays at or below the target:
CoV is the coefficient of variation of the usage: its standard deviation divided by its mean. A spiky workload has a higher CoV. A higher CoV lowers the target, so the recommended size has more spare capacity.
For example, with the Balanced defaults (CPU headroom 20%, volatility sensitivity 0.5, volatility floor 0.5) and a CoV of 0.4:
You can change the CPU percentile, the headroom, and the volatility values in Compute Engine Settings, below.
Rightsize then recommends the cheapest machine type that fits. Every candidate must also pass the network check, and a candidate with fewer vCPUs must also pass the peak load check:
Peak load - for a candidate with fewer vCPUs, the highest CPU utilization in the window, scaled to the candidate, stays below 95%.
Network - the candidate's network capacity is at least twice the observed peak, in either direction. Rightsize models a machine type's network capacity as 2 Gbps per vCPU, up to 32 Gbps, or up to 16 Gbps for E2 and N1.
Rightsize runs the network check only when the metric data has periods shorter than one hour. When a check excludes a smaller type that would otherwise have been recommended, Rightsize adds a Limited by reason to the finding.
Larger Machine Types
Rightsize recommends a larger machine type when daily average usage exceeds the base target on at least 25% of observed days. This must happen on at least two days. The finding state is Under provisioned.
Idle Instances and Stops
Rightsize recommends a stop for an instance only when all of these are true. The three thresholds are settings that you can change in Compute Engine Settings, below.
Average CPU stays at or below Idle CPU ceiling, which is 10% by default.
CPU stays steady, with a CoV at or below Idle volatility ceiling, which is 0.35 by default.
Network egress stays at or below 1 MB per sample at the CPU percentile, and no single network sample in either direction exceeds 25 MB.
The highest CPU utilization, and memory use where measured, never passed Stop safety peak, which is 40% by default.
The saving for a stop is an estimate, based on the instance's cost in the month that the results cover. You continue to pay for any Committed Use Discount that covers the instance, and for its persistent disks.
Using the Compute Engine Tab
The summary metrics on the Compute Engine tab are Available Savings, Idle, Over provisioned, Under provisioned, Tagged, and Untagged. Use the All accounts filter to narrow the table to one project.
Click a row's AI Suggestion button to open the instance's panel:
Current State - the instance name and its machine type.
Noros Recommendation - the recommended machine type, or Stop instance.
Monthly Savings - the estimated saving. For an instance covered by a commitment, the card also shows "Estimated at your commitment's blended rate."
Findings - the reasons behind the recommendation, as chips.
Below the panel sections, a chart shows the instance's utilization history. Choose CPU, Network egress, Network ingress, or Memory to change the metric.
Compute Engine Settings
In Settings, open Per-service overrides. On a GCP account, the only service is Compute Engine. An empty field uses the account default.
CPU percentile
The usage percentile Rightsize sizes against. P99 excludes the highest 1 percent of readings.
P99
CPU headroom
Spare CPU kept above CPU usage at the CPU percentile. A higher value gives a larger, safer size.
20%
Memory headroom
Spare memory kept above memory usage at the CPU percentile. A higher value gives a larger, safer size.
20%
Volatility sensitivity
How much variable usage lowers the sizing target. 0 does not lower it. 1 lowers it the most.
0.5
Volatility floor
The lowest value the target can be lowered to. 0.5 keeps at least half of the base target.
0.5
Idle CPU ceiling
The average CPU at or below which an instance can count as idle.
10%
Idle volatility ceiling
How steady CPU must be for an instance to count as idle. A lower value requires steadier CPU.
0.35
Stop safety peak
Rightsize never recommends a stop for an instance whose CPU or memory ever passed this.
40%
Min savings percent
Rightsize does not recommend a smaller or cheaper type that saves less than this share of what the resource costs today. The resource shows as Optimized instead. Stops and larger types are not affected.
5%
Compute Engine Finding Reasons
Rightsize lists the reasons behind each finding. Check these before you act on a recommendation, to understand what it is based on.
CPU Overprovisioned / Underprovisioned
The finding is based on CPU usage.
Memory Overprovisioned / Underprovisioned
The finding is based on memory usage.
Volatile usage
CPU usage varies, so Rightsize lowered the sizing target.
Limited by peak load
A smaller size passed the CPU percentile test, but the highest peak in the window exceeds its capacity.
Limited by network throughput
The recommended size is the smallest one with enough network capacity for the observed peak.
Limited by missing memory data / No memory metrics
No memory agent is reporting data, so the recommendation is bounded by CPU alone. The instance's panel links to the install guide for the Ops Agent.
Idle
The instance shows no meaningful activity. Rightsize recommends a stop.
Commitment limits sizing to this family
Because of the covering commitment, Rightsize recommends only machine types in the instance's current family.
Requires Hyperdisk and gVNIC
The recommended machine type is in the n4, n4a, n4d, c4, c4a, or c4d family, and the current machine type is not. These families require Hyperdisk and gVNIC (Google Virtual NIC). Check these before you change the machine type.
Extended memory pricing unavailable
The instance is a custom machine type with extended memory, and Rightsize has no rate for that configuration.
GPU not sized
The instance has GPU accelerators. Rightsize sizes on CPU, memory, and network, so it does not size GPU instances.
When Rightsize cannot read an instance's metrics, the AI Suggestion column shows "Grant monitoring access to size this resource." See Grant Monitoring Access, above.
Last updated
Was this helpful?

