# Long-Stopped Compute Engine VM Retaining Disks and Static IPs

Canonical: https://www.pointfive.co/efficiency-hub/inefficiencies/long-stopped-compute-engine-vm-retaining-disks-and-static-ips

Stopping a Compute Engine VM ends vCPU and memory charges, which is why stopping is the usual response to an unneeded machine.

By: PointFive

Updated: 2026-09-28

[Cloud Efficiency Hub](https://www.pointfive.co/efficiency-hub) 

The short version

Stopping a Compute Engine VM ends vCPU and memory charges, which is why stopping is the usual response to an unneeded machine.

PointFive Research

Cloud cost research at PointFive

GCP service

[GCP Compute Engine](https://www.pointfive.co/efficiency-hub/cloud-services/gcp-compute-engine)

Category

[Storage](https://www.pointfive.co/efficiency-hub/service-category/storage)

Reference

CER-0463

Type

Idle or Unused Resource

## Explanation

Why the waste happens and who it affects.

But the VM's resources remain: its boot and data disks keep billing for their full provisioned size, a static external IP assigned to it keeps billing as an in-use address, and preserved Local SSD data keeps billing for the durable storage that holds it. Because the instance itself shows no compute cost, VMs stopped as a precaution are easily left in the TERMINATED state for months.

The longer a VM stays stopped, the less likely it is to be restarted, and the residual storage and address cost becomes pure waste. Typical sources are migrations, incident investigations, project wind-downs and dev projects where VMs are stopped instead of deleted. Suspended VMs have the same issue plus a memory charge, until Compute Engine moves them to TERMINATED after 60 days.

## Billing model

The pricing dimensions that drive this cost.

Attached disks

Persistent Disk and Hyperdisk volumes attached to a stopped or suspended VM are billed for provisioned capacity (and Hyperdisk provisioned performance) as long as they exist

Static IP on a stopped VM

A static external IP associated with a stopped VM is still considered in use and billed hourly

Preserved Local SSD data

If Local SSD data is preserved on stop, the storage used to hold it is billed until the VM is restarted or deleted

Suspended VMs

Billed for memory, attached disks and static IPs, with no vCPU charge, for up to 60 days

## How to detect

4 checks to find it in your estate.

- List instances in the TERMINATED state (gcloud compute instances list --filter="status=TERMINATED") and use lastStopTimestamp to find VMs stopped longer than an agreed threshold, for example 30 days

- For each long-stopped VM, sum the provisioned size and type of its attached disks and note any static external IP assigned to it

- Include SUSPENDED instances, which also bill for memory

- Check owner labels and ask owners whether a restart is planned; the idle disk recommender does not flag disks that are still attached to a stopped VM

## How to fix

4 ways to remove the waste.

- For VMs that will not be restarted, create a machine image or snapshot the disks if the state may be needed, then delete the VM with its disks

- Release static external IPs from long-stopped VMs if nothing depends on the address; an unattached reserved address is billed at a higher rate, so release it rather than just detaching it

- Move retained backups of long-stopped VMs to archive snapshots when they are kept only for compliance (90-day minimum storage charge applies)

- Add a policy, for example a scheduled script or label-based review, that flags or deletes VMs stopped beyond a set number of days

## Documentation

Vendor references for pricing and configuration.

- [Suspend, stop, or reset Compute Engine instances  docs.cloud.google.com](https://docs.cloud.google.com/compute/docs/instances/suspend-stop-reset-instances-overview)

- [Compute Engine instance lifecycle  docs.cloud.google.com](https://docs.cloud.google.com/compute/docs/instances/instance-lifecycle)

- [Disk and image pricing  cloud.google.com](https://cloud.google.com/compute/disks-image-pricing)

- [Network pricing  cloud.google.com](https://cloud.google.com/vpc/network-pricing)

- [Stop or restart a Compute Engine instance  docs.cloud.google.com](https://docs.cloud.google.com/compute/docs/instances/stop-start-instance)

## Related inefficiencies

[Browse the library](https://www.pointfive.co/efficiency-hub)

- GCP Compute Engine  CER-0461

### [Unattached Persistent Disk or Hyperdisk Volume](https://www.pointfive.co/efficiency-hub/inefficiencies/unattached-persistent-disk-or-hyperdisk-volume)

Persistent Disk and Hyperdisk volumes are billed for their full provisioned size until they are deleted, whether or not any VM is using them. Disks become detached and forgotten in predictable ways: a VM is deleted with auto-delete turned...

Storage

- GCP Compute Engine  CER-0465

### [Unused Custom Compute Engine Images](https://www.pointfive.co/efficiency-hub/inefficiencies/unused-custom-compute-engine-images)

Custom images are billed for storage for as long as they exist, whether or not any VM or disk is ever created from them again. Image build pipelines (Packer, CI jobs, golden-image processes) typically publish a new image version for every...

Storage

- GCP Compute Engine  CER-0466

### [Orphaned or Over-Retained Compute Engine Disk Snapshots](https://www.pointfive.co/efficiency-hub/inefficiencies/orphaned-or-over-retained-compute-engine-disk-snapshots)

Standard and archive snapshots of Compute Engine disks are not deleted when their source disk is deleted, and they keep billing for stored data until someone deletes them. Snapshot schedules make this worse by default: a schedule's...

Storage

---
Source: the public page above. Product screenshots and illustrative interfaces are examples, not live customer data.

