View and understand VM instance insights Stay organized with collections Save and categorize content based on your preferences.
Virtual machine (VM) instance insights help you understand the CPU, memory, andnetwork usage of your Compute Engine VMs. Insights are generatedautomatically based on system metrics or metrics gathered byCloud Monitoring. You can use insights to support decisionsabout resizing your machine types to more efficiently use VM resources.
For more information about insights,seeInsights.
Before you begin
- If you haven't already, set upauthentication. Authentication verifies your identity for access to Google Cloud services and APIs. To run code or samples from a local development environment, you can authenticate to Compute Engine by selecting one of the following options:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
Install the Google Cloud CLI. After installation,initialize the Google Cloud CLI by running the following command:
gcloudinit
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Note: If you installed the gcloud CLI previously, make sure you have the latest version by runninggcloud components update.- Set a default region and zone.
REST
To use the REST API samples on this page in a local development environment, you use the credentials you provide to the gcloud CLI.
Install the Google Cloud CLI. After installation,initialize the Google Cloud CLI by running the following command:
gcloudinit
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Note: If you installed the gcloud CLI previously, make sure you have the latest version by runninggcloud components update.For more information, seeAuthenticate for using REST in the Google Cloud authentication documentation.
View insights for VM recommendations
Compute Engine generates recommendations basedon resourceinsights.Recommendations includemachine type recommendationsandidle VM recommendations.
By viewing insights associated with a specific VM,you can learn more about the CPU, memory, and network usage for your VM.
To view the insights that generated a specific recommendation, usethe gcloud CLI or the API.
Permissions required for this task
To perform this task, you must have the followingpermissions:
recommender.computeInstanceCpuUsageInsights.geton the projectrecommender.computeInstanceCpuUsageInsights.liston the projectrecommender.computeInstanceCpuUsagePredictionInsights.geton the projectrecommender.computeInstanceCpuUsagePredictionInsights.liston the projectrecommender.computeInstanceCpuUsageTrendInsights.geton the projectrecommender.computeInstanceCpuUsageTrendInsights.liston the projectrecommender.computeInstanceMemoryUsageInsights.geton the projectrecommender.computeInstanceMemoryUsageInsights.liston the projectrecommender.computeInstanceMemoryUsagePredictionInsights.geton the projectrecommender.computeInstanceMemoryUsagePredictionInsights.liston the projectrecommender.computeInstanceNetworkThroughputInsights.geton the projectrecommender.computeInstanceNetworkThroughputInsights.liston the project
gcloud
To view all the available insights in detail for a specific zone, use theinsights list commandand provide the--format option.
gcloud recommender insights list --project=PROJECT_ID \ --location=LOCATION \ --insight-type=INSIGHT_TYPE_ID \ --format=FORMAT
Replace the following:
PROJECT_ID: the ID of your project.LOCATION: the zone that contains the resourcesfor which you want to view insights.INSIGHT_TYPE_ID: the id of theinsight type. For a list ofthe VM insights available, seeTypes of VM instance insights.FORMAT: your preferred outputformat–for example,json.
A typical output of theinsights list command using thejson outputformat might look like the following.
[ { "associatedRecommendations": [ { "recommendation": "projects/PROJECT_ID/locations/us-central1-a/recommenders/google.compute.instance.MachineTypeRecommender/recommendations/7618763b-fee2-42e5-8b9b-e6eee0b2077f" } ], "category": "PERFORMANCE", "content": { "predictedCpuCores": 0.15 }, "description": "Predicted CPU usage is 0.1 vCPUs.", "etag": "\"fdb51460cac758a0\"", "insightSubtype": "CPU_USAGE_PREDICTION", "lastRefreshTime": "2021-09-15T06:50:45Z", "name": "projects/PROJECT_ID/locations/us-central1-a/insightTypes/google.compute.instance.CpuUsagePredictionInsight/insights/cb2ab4e6-2c5e-4f0e-8cbe-1487e8bae8c0", "observationPeriod": "604800s", "severity": "LOW", "stateInfo": { "state": "ACTIVE" }, "targetResources": [ "//compute.googleapis.com/projects/PROJECT_ID/zones/us-central1-a/instances/instance-name-1" ] }]REST
To view all the available insights in detail for a specific zone, use theinsights.list method.
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/INSIGHT_TYPE_ID/insights
Replace the following:
PROJECT_ID: the ID of your project.LOCATION: the zone that contains theresources for which you want to view insights.INSIGHT_TYPE_ID: the id of theinsight Type. For a list ofthe VM insights available, seeTypes of VM instance insights.
A typical output of theinsights.list method might look likethe following.
[ { "associatedRecommendations": [ { "recommendation": "projects/PROJECT_ID/locations/us-central1-a/recommenders/google.compute.instance.MachineTypeRecommender/recommendations/7618763b-fee2-42e5-8b9b-e6eee0b2077f" } ], "category": "PERFORMANCE", "content": { "predictedCpuCores": 0.15 }, "description": "Predicted CPU usage is 0.1 vCPUs.", "etag": "\"fdb51460cac758a0\"", "insightSubtype": "CPU_USAGE_PREDICTION", "lastRefreshTime": "2021-09-15T06:50:45Z", "name": "projects/PROJECT_ID/locations/us-central1-a/insightTypes/google.compute.instance.CpuUsagePredictionInsight/insights/cb2ab4e6-2c5e-4f0e-8cbe-1487e8bae8c0", "observationPeriod": "604800s", "severity": "LOW", "stateInfo": { "state": "ACTIVE" }, "targetResources": [ "//compute.googleapis.com/projects/PROJECT_ID/zones/us-central1-a/instances/instance-name-1" ] }]For more information about insights, see thereference docs.
Types of VM instance insights
You can use different insights to retrieve information about theperformance of your VMs. Each insight type has specific content attributes.
The following sections provide a reference for the VM insights available.
CPU usage insight
Compute Engine creates CPU usage insights when the CPU usage ofyour VMs has been higher or lower than usual for the last observation period.
The insight type ID isgoogle.compute.instance.CpuUsageInsight.
The available subtypes are:
HIGH_CPU_USAGELOW_CPU_USAGE
These are associated with insight descriptions such as the following:
In the last 12 days for 90% of the time, CPU usage was greaterthan or equal to 83%.In the last 10 days for 70% of the time, CPU usage was lower thanor equal to 20%.
The following table provides some details about the content associated withCPU usage insights.
| Attribute | Type | Description |
points | ARRAY | Array of objects. Each object contains the following properties:
|
CPU usage prediction insight
Compute Engine creates CPU usage prediction insights to indicatethe predicted CPU usage for the following day.
The insight type ID isgoogle.compute.instance.CpuUsagePredictionInsight.
A typical description you can find in this insight is similar to the following:
Predicted CPU usage is 0.1 vCPUs.
The following table provides some details about thecontent associated with CPU usage prediction insights.
| Attribute | Type | Description |
predicted_cpu_cores | DOUBLE | Predicted amount of CPU cores. |
CPU usage trend insight
Compute Engine creates CPU usage trend insights when CPU usage showsan increasing or decreasing trend in the last observation period.
The insight type ID isgoogle.compute.instance.CpuUsageTrendInsight.
The available subtypes are:
CPU_USAGE_INCREASECPU_USAGE_DECREASE
These are generally associated with insight descriptions such as the following:
In the last 7 days, average daily CPU usage has increased by 8%from 65% to 73%.In the last 7 days, average daily CPU usage has decreased by 10%from 55% to 45%.
The following table provides some details about thecontent associated with CPU usage trend insights.
| Attribute | Type | Description |
cpu_usage_percentage_at_start | DOUBLE | Measured daily mean of CPU usage at the start of the observation period. The value represents the percentage of the total number of vCPUs,and is in the range [0, 100]. |
cpu_usage_percentage_at_end | DOUBLE | Measured daily mean of CPU usage at the end of the observation period. The value represents the percentage of the total number of vCPUs,and is in the range [0, 100]. |
cpu_usage_percentage_change | DOUBLE | Predicted change of daily mean of CPU usage during the observation period. Prediction uses linear regression to model the change of daily CPU usage. The value represents the percentage of the total number of vCPUs,and is in the range [0, 100]. |
Memory usage insight
Compute Engine creates memory usage insights if the memory usageis exceptionally high or low during the observation period.
The insight type ID isgoogle.compute.instance.MemoryUsageInsight.
The available subtypes are:
HIGH_MEMORY_USAGELOW_MEMORY_USAGE
These are generally associated with insight descriptions such as the following:
In the last 12 days for 80% of the time, memory usage was greaterthan or equal to 64%.In the last 7 days for 50% of the time, memory usage was lower thanor equal to 10%.
The following table provides some details about thecontent associated with memory usage insights.
| Attribute | Type | Description |
points | ARRAY | Array of objects. Each object contains the following properties:
|
Memory usage prediction insight
Compute Engine creates memory usage prediction insights to indicatethe memory usage predicted for the following day.
Note: You can receive memory usage insights only if you installCloud Monitoring in your VMs.The insight type ID isgoogle.compute.instance.MemoryUsagePredictionInsight.
A typical insight description is the following:
Predicted memory usage is 1536 MB.
The following table provides some details about thecontent associated with memory usage prediction insights.
| Attribute | Type | Description |
predicted_memory_mb | DOUBLE | Predicted amount of memory expressed in MB. |
Network throughput insight
Compute Engine creates network throughput insights when the networkthroughput during the observation period is exceptionally low for theincoming or outgoing traffic.
The insight type ID isgoogle.compute.instance.NetworkThroughputInsight.
The available subtypes are:
LOW_RECEIVED_NETWORK_THROUGHPUTLOW_SENT_NETWORK_THROGHPUT
These are generally associated with insight descriptions such as the following:
In the last 7 days for 80% of the time, received network throughput waslower than or equal to 500 B/s.In the last 7 days for 80% of the time, sent network throughput waslower than or equal to 200 B/s.
The following table provides some details about thecontent associated with network throughput insights.
| Attribute | Type | Description |
sample_probability | DOUBLE | Relative amount of network throughput samples below the quantile function value. The value is in the range [0, 1]. |
quantile_function_value_in_bytes_per_second | DOUBLE | Upper bound for network throughput which holds at least part (sample probability) of samples. The value is expressed in bytes per second. |
What's next
- Learn more aboutmachine type recommendationsthat Compute Engine creates based on insights.
- Learn more aboutidle VM recommendations.
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-02-18 UTC.