Inactive and Stopped VM
Service Category
Compute
Cloud Provider
Azure
Service Name
Azure Virtual Machines
Inefficiency Type
Unused Resource
Explanation

This inefficiency arises when a virtual machine is left in a stopped (deallocated) state for an extended period but continues to incur costs through attached storage and associated resources. These idle VMs are often remnants of retired workloads, temporary environments, or paused projects that were never fully cleaned up. Without clear ownership or automated cleanup, they can persist unnoticed and accumulate avoidable charges.

Relevant Billing Model

While compute charges stop when a VM is in a deallocated (stopped) state, storage costs for the attached OS and data disks continue to accrue. Public IP addresses (if static), snapshots, and backup configurations may also generate charges.

Detection
  • Identify virtual machines that have remained in a stopped (deallocated) state for the entire lookback period
  • Review whether any activity has occurred from the associated managed disks, network interfaces, or backup processes
  • Evaluate whether the VM is part of a dev/test or legacy environment with no recent usage
  • Check for active reservations or static public IPs still assigned to the VM
  • Validate with the application owner whether the VM or its data is still needed
Remediation

Delete stopped VMs that are confirmed to be inactive and no longer required. Ensure that managed disks, static IPs, and snapshots are reviewed and cleaned up accordingly. If the data may be needed later, consider creating a snapshot or exporting the disk before deletion. Implement scheduled reviews of deallocated VMs to minimize waste across environments.

Relevant Documentation