The Cloud SQL idle instance recommender helps
you detect instances that might be idle and provides you
insights and recommendations to help you reduce costs. This page describes how
this recommender works and how to use it.
How it works
The Cloud SQL idle instance recommender analyzes the usage metrics of primary
instances that are older than 30 days. For each instance, the recommender
considers the values of certain metrics
within an observation period spanning the last 30 days. The recommender does not
analyze read replicas.
If the activity level within the observation period is below a certain
threshold, the recommender estimates that the instance is idle. Recommendations are
generated every 24 hours for shutting down such instances.
GET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.RECOMMENDER/recommendations
Replace the following:
PROJECT_ID: Your project ID.
LOCATION: A region, such as us-central1.
RECOMMENDER: The ID of the recommender as IdleRecommender.
If the recommender detects idle instances, it lists them in a
table. Each row shows the instance name, a brief recommendation, the location,
and the last refresh date.
View insights and detailed recommendations
You can view insights and detailed recommendations about idle instances by
using the Google Cloud console, gcloud, or the Recommender API.
Console
To view insights about an idle instance by using the
Google Cloud console, click the recommendation button in the list of instances.
gcloud
To view insights and detailed recommendations about idle instances by using gcloud, run the
gcloud recommender insights list
command as follows:
gcloud recommender insights list \
--project=PROJECT_ID \
--location=LOCATION \
--insight-type=google.cloudsql.instance.INSIGHT_TYPE
Replace the following:
PROJECT_ID: Your project ID.
LOCATION: A region, such as us-central1.
INSIGHT_TYPE: The ID of the insight type as ActivityInsight.
API
To view insights and detailed recommendations about idle instances by using the
Recommendations API, call the
insights.list
method as follows:
GET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/insightTypes/google.cloudsql.instance.INSIGHT_TYPE/insights
Replace the following:
PROJECT_ID: Your project ID.
LOCATION: A region, such as us-central1.
INSIGHT_TYPE: The ID of the insight type as ActivityInsight.
A panel appears showing insights about the idle instance. The following
categories of information are provided along with some supporting charts.
Fields
Descriptions and related metrics
Disk usage (bytes change)
Data utilization in bytes. Sampled every 60 seconds.
Pertains to database/disk/bytes_used.
Max CPU utilization
The maximum CPU utilization as a percentage.
Pertains to database/cpu/utilization.
Max memory utilization
The maximum memory utilization as a percentage.
Pertains to database/memory/utilization.
Max disk read ops count
The maximum number of read operations.
Pertains to database/disk/read_ops_count.
Max disk write ops count
The maximum number of write operations.
Pertains to database/disk/write_ops_count.
Observation start and end dates
The start and end dates of the 30-day observation period.
The following table lists the insight and recommendation that the Cloud SQL
idle instance recommender might generate to help you reduce costs. The subtypes
are visible in the gcloud and API results.
Insight
Recommendation
The instance has shown low levels of activity
during the observation period.
Subtype: LOW_ACTIVITY
Investigate to check if the instance can
be shut down to reduce costs.
Subtype: SHUTDOWN_INSTANCE
Apply recommendations
Evaluate the recommendations carefully and do any of the following:
To examine the recommendation, click View instance.
A banner appears at the top of the page providing a recommendation.
You might find that the instance is intentionally idle and you don't need to shut
it down. If it's inadvertently idle, you can stop
and delete the instance. Stopping an
instance suspends instance charges. The instance data is unaffected,
and charges for storage and IP addresses continue to apply.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-14 UTC."],[],[],null,["# Identify idle Cloud SQL instances\n\n\u003cbr /\u003e\n\n[MySQL](/sql/docs/mysql/recommender-sql-idle \"View this page for the MySQL database engine\") \\| PostgreSQL \\| [SQL Server](/sql/docs/sqlserver/recommender-sql-idle \"View this page for the SQL Server database engine\")\n\n\u003cbr /\u003e\n\nThe Cloud SQL idle instance [recommender](/recommender/docs/overview) helps\nyou detect instances that might be idle and provides you\ninsights and recommendations to help you reduce costs. This page describes how\nthis recommender works and how to use it.\n\nHow it works\n------------\n\nThe Cloud SQL idle instance recommender analyzes the usage metrics of primary\ninstances that are older than 30 days. For each instance, the recommender\nconsiders the values of certain [metrics](/monitoring/api/metrics_gcp_c#gcp-cloudsql)\nwithin an observation period spanning the last 30 days. The recommender does not\nanalyze read replicas.\n\nIf the activity level within the observation period is below a certain\nthreshold, the recommender estimates that the instance is idle. Recommendations are\ngenerated every 24 hours for shutting down such instances.\n| **Warning:** It's highly recommended that you evaluate the insights and in-context charts. Consult with the appropriate team to determine whether the flagged instance is inadvertently idle and can be deleted.\n\nPricing\n-------\n\nThe Cloud SQL idle instance recommender is in the *Standard* [Recommender pricing tier](/recommender/pricing).\n\nBefore you begin\n----------------\n\nBefore you can view recommendations and insights, do the following:\n\n- To get the permissions to view and work with insights and recommendations, ensure that you have the required [roles](/sql/docs/postgres/project-access-control#roles).\n\n For more information about roles, see [understanding roles](/iam/docs/understanding-roles) and [granting IAM permissions](/iam/docs/granting-changing-revoking-access).\n-\n\n\n Enable the Recommender API.\n\n\n [Enable the API](https://console.cloud.google.com/flows/enableapi?apiid=recommender.googleapis.com)\n\nList idle Cloud SQL instance recommendations\n--------------------------------------------\n\nYou can list idle instance recommendations by\nusing the Google Cloud console, `gcloud`, or the Recommender API. \n\n### Console\n\nTo list recommendations about idle instances by using the\nGoogle Cloud console, follow these steps:\n\n1. Go to the **Cloud SQL Instances** page.\n\n [Go to Cloud SQL Instances](https://console.cloud.google.com/sql/instances)\n2. Click **View all** on the idle instance recommendations banner.\n\nAlternatively, follow these steps:\n\n1. Go to the **Recommendation Hub**.\n\n [Go to the Recommendation Hub](https://console.cloud.google.com/home/recommendations/)\n\n For more information, see\n [Getting started with Recommendation Hub](/recommender/docs/recommendation-hub/identify-configuration-problems).\n2. In the **Reduce Cloud SQL instance cost** card, click **View all**.\n\n3. Click the **Shut down instance** tab.\n\n### gcloud\n\nTo list recommendations about idle instances by using `gcloud`, run the\n[`gcloud recommender recommendations list`](/sdk/gcloud/reference/recommender/recommendations/list)\ncommand as follows: \n\n```\ngcloud recommender recommendations list \\\n--project=PROJECT_ID \\\n--location=LOCATION \\\n--recommender=google.cloudsql.instance.RECOMMENDER\n```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e: Your project ID.\n- \u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e: A region, such as `us-central1`.\n- \u003cvar translate=\"no\"\u003eRECOMMENDER\u003c/var\u003e: The ID of the recommender as `IdleRecommender`.\n\n### API\n\nTo list recommendations about idle instances by using the\n[Recommendations API](/recommender/docs/using-api), call the\n[`recommendations.list`](/recommender/docs/reference/rest/v1beta1/projects.locations.recommenders.recommendations/list)\nmethod as follows. \n\n```\nGET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.RECOMMENDER/recommendations\n```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e: Your project ID.\n- \u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e: A region, such as `us-central1`.\n- \u003cvar translate=\"no\"\u003eRECOMMENDER\u003c/var\u003e: The ID of the recommender as `IdleRecommender`.\n\nIf the recommender detects idle instances, it lists them in a\ntable. Each row shows the instance name, a brief recommendation, the location,\nand the last refresh date.\n\nView insights and detailed recommendations\n------------------------------------------\n\nYou can view insights and detailed recommendations about idle instances by\nusing the Google Cloud console, `gcloud`, or the Recommender API. \n\n### Console\n\nTo view insights about an idle instance by using the\nGoogle Cloud console, click the recommendation button in the list of instances.\n\n### gcloud\n\nTo view insights and detailed recommendations about idle instances by using `gcloud`, run the\n[`gcloud recommender insights list`](/sdk/gcloud/reference/recommender/insights/list)\ncommand as follows: \n\n```\ngcloud recommender insights list \\\n--project=PROJECT_ID \\\n--location=LOCATION \\\n--insight-type=google.cloudsql.instance.INSIGHT_TYPE\n```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e: Your project ID.\n- \u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e: A region, such as `us-central1`.\n- \u003cvar translate=\"no\"\u003eINSIGHT_TYPE\u003c/var\u003e: The ID of the insight type as `ActivityInsight`.\n\n### API\n\nTo view insights and detailed recommendations about idle instances by using the\n[Recommendations API](/recommender/docs/using-api), call the\n[`insights.list`](/recommender/docs/reference/rest/v1beta1/projects.locations.insightTypes.insights/list)\nmethod as follows: \n\n```\nGET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/insightTypes/google.cloudsql.instance.INSIGHT_TYPE/insights\n```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e: Your project ID.\n- \u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e: A region, such as `us-central1`.\n- \u003cvar translate=\"no\"\u003eINSIGHT_TYPE\u003c/var\u003e: The ID of the insight type as `ActivityInsight`.\n\nA panel appears showing insights about the idle instance. The following\ncategories of information are provided along with some supporting charts.\n\nThe following table lists the insight and recommendation that the Cloud SQL\nidle instance recommender might generate to help you reduce costs. The subtypes\nare visible in the `gcloud` and API results.\n\nApply recommendations\n---------------------\n\nEvaluate the recommendations carefully and do any of the following:\n\n- To examine the recommendation, click **View instance**.\n\n A banner appears at the top of the page providing a recommendation.\n\n You might find that the instance is intentionally idle and you don't need to shut\n it down. If it's inadvertently idle, you can [stop](/sql/docs/postgres/start-stop-restart-instance#stop)\n and [delete](/sql/docs/postgres/delete-instance) the instance. Stopping an\n instance suspends instance charges. The instance data is unaffected,\n and charges for storage and IP addresses continue to apply.\n\n Exercise caution when [stopping](/sql/docs/postgres/start-stop-restart-instance#stop)\n or [deleting](/sql/docs/postgres/delete-instance) an instance. To avoid\n the loss of data, [create a backup](/sql/docs/postgres/backup-recovery/backing-up#on-demand) first.\n- To dismiss the recommendation so that it's de-emphasized and appears dimmed,\n click **Dismiss**.\n\n- To close the panel without applying or dismissing the recommendation, click\n **Cancel**.\n\nYou can also [export these recommendations to BigQuery](/recommender/docs/bq-export/export-recommendations-to-bq)\nand examine them by using [Looker Studio](/bigquery/docs/visualize-looker-studio) or [Looker](/bigquery/docs/looker).\n\nWhat's next\n-----------\n\n- [Monitor disk availability](/sql/docs/postgres/using-ood-recommender)\n- [Reduce overprovisioned Cloud SQL instances](/sql/docs/postgres/recommender-sql-overprovisioned)\n- [Blog: Maximize your Cloud ROI](https://cloud.google.com/blog/products/management-tools/active-assist-comes-to-google-cloud)\n- [Blog: Do more with less](https://cloud.google.com/blog/products/databases/reduce-cloud-sql-costs-with-optimizations-by-active-assist)\n- [Google Cloud recommenders](/recommender/docs/recommenders)"]]