Azure VM status is easiest to understand when you separate three signals: power state, provisioning state, and, for generalized images, OS provisioning state. For billing, the decisive distinction is whether the VM is merely powered off but still allocated or is deallocated. A VM in Stopped (Allocated) continues to incur compute charges; a VM in Stopped (Deallocated) does not incur VM instance usage charges, although its disks and networking resources can still generate charges.
Use the power-state code to determine whether the guest can accept workloads and whether compute allocation remains. Treat provisioning and OS-provisioning values as separate operation-status signals, not as proof that the VM is running.
As an Amazon Associate I earn from qualifying purchases.
Azure VM status has more than one meaning
Microsoft describes the power state as “the last known state of the VM.” It reports the machine’s runtime condition, such as creating, starting, running, stopping, stopped, deallocating, or deallocated. A status surface can also show a provisioning state and, for VMs created from generalized OS images, an OS provisioning state.
Power state
Power state answers the operational question: is the VM starting, running, shutting down, still allocated, or released from its host? The familiar code is PowerState/running. A transition value such as PowerState/stopping is not a completed state; wait for the operation to finish before starting another dependent action.
#1 Best Overall
Provisioning state
Provisioning state describes a user-initiated control-plane operation. Documented values include Creating, Updating, Failed, Succeeded, Deleting, and Migrating. For example, a VM may report Provisioning succeeded while its power state is stopped or deallocated. Read both dimensions.
OS provisioning state
OS provisioning is a substate for VMs created from generalized OS images. It can report guest setup progress and extension installation. Specialized images and VMs using attached OS disks do not expose this separate OS-provisioning state in the same way.
Power states, allocation and billing
The following table describes the VM instance states and the compute-charge implication documented by Microsoft. “No VM usage charge” does not mean that every Azure resource attached to the VM is free.
| Power state | Meaning | VM instance usage charge |
|---|---|---|
| Creating | Azure is allocating resources while the VM is being created. | Not billed for VM instance usage; disks and networking may still be billable. |
| Starting | The VM is powering up. | Billed. |
| Running | The VM is fully up in its normal working state. | Billed. |
| Stopping | The VM is transitioning from running to stopped. | Billed until the transition completes. |
| Stopped (Allocated) | The guest is not running, but the VM remains allocated on a host. This can follow an API power-off or a shutdown from inside the guest OS. | Billed. |
| Deallocating | Azure is releasing the VM’s host allocation. | Not billed for VM instance usage during the deallocation transition; other resources may still be billable. |
| Stopped (Deallocated) | The VM has released its lease on the underlying hardware. | Not billed for VM instance usage; disks and networking may still be billable. |
What does stopped (deallocated) mean in Azure?
Stopped (Deallocated) means the VM is powered off and Azure has released its physical host allocation. Because compute capacity is no longer reserved, VM instance usage charges do not apply while it remains deallocated. The OS disk, data disks, public IP configuration, network interfaces, and other attached resources can continue to incur their own charges.
Deallocation is therefore the cost-saving state for a VM that does not need to run continuously. It is different from shutting down the operating system or selecting a stop operation that leaves the VM allocated.
Stopped (Allocated) versus Stopped (Deallocated)
| Characteristic | Stopped (Allocated) | Stopped (Deallocated) |
|---|---|---|
| Guest workloads | Not running | Not running |
| Host allocation | Retained | Released |
| VM compute billing | Continues | Does not apply while deallocated |
| Restart behavior | Usually can start without a new capacity allocation | Requires Azure to allocate capacity again; a later start is not guaranteed to be immediate |
| Typical reason to choose it | Power off briefly while retaining allocation | Stop paying for VM instance usage during an idle period |
Microsoft’s PowerShell guidance uses Stop-AzVM to stop and deallocate a VM and Start-AzVM to start it. If you intentionally want to stop the guest while keeping it provisioned, the -StayProvisioned option preserves allocation and therefore does not provide the deallocation cost saving.
Rank #2
How to check an Azure VM’s power state
Check the final power state after every start, stop, restart, or deallocate operation. Do not infer it from a provisioning result alone.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteAzure portal and Instance View
- Open the VM in the Azure portal.
- Use the VM’s overview and status information to identify the displayed power state, such as Running or Stopped (Deallocated).
- For detailed running-state information, inspect Instance View. Azure Resources Explorer is another interface for viewing instance status.
- If the VM shows Stopping or Deallocating, wait for the operation to complete and refresh before taking the next action.
PowerShell
Retrieve the VM with its status values:
Get-AzVM -ResourceGroupName <group> -Name <vm> -Status
The result includes status codes. Look for the entry whose type begins with PowerState/, then read provisioning entries separately.
Azure CLI
Start a VM with:
az vm start -g <group> -n <vm>
To deallocate it and release compute allocation:
az vm deallocate --resource-group <group> --name <vm>
After either operation, query the VM again and confirm the expected final power state rather than relying on the command’s immediate acknowledgement.
REST and bulk checks
For automation, use Instance View for a VM’s running-state information. Microsoft’s Virtual Machines List All API supports statusOnly=true for bulk status retrieval. This is useful for schedules, inventory reports, and scripts that must distinguish running, allocated-stopped, and deallocated machines.
How to choose the right management action
Start
Use start when a stopped or deallocated VM should accept workloads again. A deallocated VM must obtain capacity when it starts, so a successful start depends on available capacity in the selected region or zone.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Stop while retaining allocation
Choose a stop operation that keeps the VM provisioned only when retaining the host allocation is more important than eliminating compute charges. The VM is not running, but the instance remains billable.
Rank #3
Stop and deallocate
- Issue the deallocate command in the portal, Azure CLI, or PowerShell.
- Wait for the operation to leave the Deallocating transition state.
- Check Instance View or a status query.
- Proceed only when the result is Stopped (Deallocated) or the equivalent
PowerState/deallocatedcode.
This is the normal choice for scheduled shutdowns, development machines used only during working hours, or other workloads that can tolerate a later capacity allocation.
Restart
Restart reboots the VM rather than releasing its host allocation. During a start or restart, Microsoft may report the provisioning state as Updating. Confirm the final power state and inspect any activity error if the operation does not complete.
Redeploy
Redeploy shuts down the VM, moves it to a new physical node, and powers it back on. It is a host-placement recovery action, not a cost-saving substitute for deallocation. Plan for the interruption and verify the resulting power state.
Reapply
Reapply can rerun VM provisioning after certain failed state or network-resource operations. Use it for the specific failure documented in the troubleshooting guidance; it is not a general replacement for start, restart, or deallocate.
Hibernated (Deallocated): a different deallocation mode
Hibernation is a supported way to deallocate a VM while preserving the guest’s memory contents. Azure signals the operating system to suspend to disk, stores RAM contents on the persistent OS disk, and then releases the hardware lease. VM instance usage is not charged while the VM is hibernated, but attached disks and networking resources can still be billed.
Requirements and limitations
- The VM size and operating system must support Azure hibernation.
- Hibernation must be enabled on the VM.
- The persistent OS disk must have enough capacity for the memory image as well as the operating system and applications.
- Azure must initiate hibernation through its management tools. Hibernating only from inside the guest OS does not place the Azure resource in the hibernated state and may leave compute billing active.
- Azure does not guarantee that sufficient capacity will be available when the VM is started later.
- While hibernated, operations such as resizing and attaching or detaching disks or network interfaces are restricted. Move the VM to an appropriate running or ordinary stopped state before making those changes.
Ordinary deallocation versus hibernation
| Decision factor | Ordinary Stopped (Deallocated) | Hibernated (Deallocated) |
|---|---|---|
| VM compute usage charge | Not charged while deallocated | Not charged while hibernated |
| Memory contents | Not preserved in RAM; the guest performs a normal shutdown | Saved to the persistent OS disk for resume |
| Temporary-disk data | Not guaranteed across deallocation | Not persisted |
| Resize and disk/NIC changes | Generally available while deallocated | Restricted until the VM moves to a suitable state |
| Future start | Requires capacity allocation | Requires capacity allocation; no capacity guarantee |
Why a deallocated VM may not start
Deallocation releases capacity; it does not reserve capacity for the next start. An allocation failure commonly means Azure cannot find the requested VM size in the selected region or availability zone at that moment.
Rank #4
Investigate the right status first
- Read the power state and determine whether the VM is truly Stopped (Deallocated) or still in a transition.
- Read provisioning state separately. A provisioning failure and a capacity allocation failure require different remedies.
- Open the activity or deployment details and capture the exact error, including the region, zone, and requested size.
Capacity remedies
- Retry the start after a short interval.
- Try another size with comparable CPU, memory, storage, and networking characteristics.
- Try another availability zone or region when the workload permits it.
- For an availability set, if only some VMs were deallocated, Azure may need to allocate them on the original cluster. In applicable cases, deallocate all relevant VMs and then start them together.
Do not treat a successful deallocation as a promise of immediate restart capacity. Capacity can change between the two operations.
Free tools Windows power users keep installed
One-click scans. No signup required.
Common status-reading mistakes
- “Provisioning succeeded” means the VM is running. It only describes the provisioning operation; check the
PowerState/value. - Guest shutdown means no compute charge. A guest-OS shutdown can leave the resource in Stopped (Allocated).
- Deallocated means the entire bill is zero. Disks, network interfaces, public IP resources, and other attached services can remain billable.
- Stopping is a final state. It is a transition; wait for Stopped (Allocated) or Stopped (Deallocated).
- Hibernation from the guest is Azure hibernation. Azure must initiate the supported hibernation workflow.
Do not confuse VM runtime state with VM size lifecycle
Azure also uses lifecycle labels for VM size series. These labels describe the age and support position of a hardware family, not whether an individual VM is running.
| Size-series stage | Meaning |
|---|---|
| Current | The newest series in a VM family; recommended for new deployments. |
| Extended | Fully supported and suitable for existing workloads while newer sizes are evaluated. |
| End of Life | Retirement has been announced; plan modernization before the published date. |
| Retired | No longer available to create, resize into, or run. |
A capacity-growth restriction is separate from a retirement announcement. Microsoft’s current lifecycle example says Dv3, Dsv3, Ev3, and Esv3 sizes face capacity-growth restrictions beginning in July 2026 and retirement on November 15, 2029. Those dates are product-lifecycle information and can change for other families, so check the current family and retirement pages before planning a migration.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Operational scenarios and decision guide
For a development VM used only during business hours, schedule a deallocation at the end of the day and verify the deallocated code before assuming savings have started. For a short maintenance window where rapid restart is more important than compute cost, a stopped-but-allocated state may be intentional. Document that choice so an operator does not mistake a continuing charge for a failed shutdown.
Use ordinary deallocation before resizing a VM or changing attached disks or network interfaces. If the VM is hibernated, first move it to a state that permits those changes. When memory-resume behavior matters, confirm that the OS disk has room for the memory image and that the VM size and operating system are supported; otherwise use a normal stop and deallocate.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →For a fleet, collect power and provisioning values together. A report that lists only Succeeded can include machines that are stopped, deallocated, or still changing state. Bulk queries with statusOnly=true can feed schedules and inventory, while a per-VM Instance View check can provide the detail needed before a remediation action.
Best Value
Cost-control checklist
- Identify every VM that is stopped but still allocated.
- Decide whether its retained allocation is required for an operational reason.
- Deallocate idle machines through an Azure management tool rather than relying only on a guest shutdown.
- Wait for
PowerState/deallocatedand record the completion time. - Review managed disks, snapshots, network interfaces, public IP resources, and other attached services separately because their charges can continue.
- When using hibernation, include the persistent OS-disk capacity needed for saved memory in the cost and capacity review.
A practical state-management runbook
- Define the desired outcome. Decide whether you need the VM running, powered off but immediately allocated, normally deallocated for compute savings, or hibernated to preserve memory.
- Choose the control-plane action. Use start, stop, deallocate, restart, redeploy, or reapply according to that outcome.
- Wait for completion. Do not chain operations while the VM reports Starting, Stopping, Deallocating, or another transition value.
- Verify power state. Use the portal’s Instance View,
Get-AzVM -Status, or an API status query. - Check billing scope. After deallocation, confirm that only VM instance usage has stopped; review disks and networking separately.
- Record exceptions. For failed starts, retain the activity error, requested size, and region or zone before changing configuration.
- Review size lifecycle independently. A VM can be running normally while its size series approaches End of Life, and a Current size can still be deallocated.
Frequently Asked Questions
Does a stopped Azure VM still cost money?
Yes, if it is Stopped (Allocated). The VM remains assigned to a host and compute charges continue. Deallocate it and verify PowerState/deallocated to stop VM instance usage charges; disks and networking may still cost money.
What is the difference between stopped and deallocated in Azure?
Stopped (Allocated) powers off the guest but retains host allocation and compute billing. Stopped (Deallocated) releases the hardware lease, removes VM instance usage charges, and requires Azure to find capacity again when you start the VM.
How do I check the power state of an Azure VM?
Use the portal’s Instance View, run Get-AzVM -ResourceGroupName <group> -Name <vm> -Status, or query the Virtual Machines List All API with statusOnly=true. Read the PowerState/ entry separately from provisioning status.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Why can’t I start my deallocated VM?
Azure may not have capacity for the requested size in the selected region or availability zone. Retry, try a comparable size, or try another zone or region. For some availability-set deployments, deallocating all applicable VMs and starting them together can allow allocation on the original cluster.
Does hibernation guarantee a faster or successful restart?
No. Hibernation preserves memory on the OS disk, but Azure does not guarantee that sufficient capacity will be available when the VM starts later. Hibernation also requires a supported size, operating system, enabled configuration, and adequate OS-disk space.
Can I resize a hibernated VM or detach a disk?
Those operations are restricted while the VM is hibernated. Move it to an appropriate running or ordinary stopped state first, then perform the change.
Is a provisioning state of Succeeded proof that my VM is running?
No. Provisioning describes a control-plane operation. A VM can show provisioning succeeded while its power state is stopped or deallocated, so always inspect the power-state code.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsWhat does a retired VM size mean?
A retired size series is no longer available to create, resize into, or run. This lifecycle label applies to the size family, not the VM’s current power state. Plan migration before an announced retirement date.
The Bottom Line
Read Azure VM status in two dimensions: power state tells you whether the instance is running, allocated, or deallocated; provisioning state tells you what the control plane is doing. To stop VM compute charges, deallocate and verify the final state. Use hibernation only for supported configurations, expect capacity constraints on later starts, and track VM size-series retirement separately from runtime status.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

