---
title: MicroVM Lifecycle (public)
description: MicroVM states, automatic pause and resume, and how each state affects billing.
product: Microvms
url: https://docs.digitalocean.com/products/microvms/concepts/lifecycle/
last_updated: "2026-10-09"
---

> **For AI agents:** The documentation index is at [https://docs.digitalocean.com/llms.txt](https://docs.digitalocean.com/llms.txt). Markdown versions of pages use the same URL with `index.html.md` in place of the HTML page (for example, append `index.html.md` to the directory path instead of opening the HTML document).

# MicroVM Lifecycle (public)

DigitalOcean MicroVMs are lightweight virtual machines that run a container image in an isolated kernel, pause automatically when idle, and resume on the next request with memory, files, and processes intact.

A DigitalOcean MicroVM moves between running and paused states with your traffic. You choose a MicroVM’s settings when you create it, and the platform pauses and resumes it based on activity. This page describes each state and what triggers the transitions between them.

## MicroVM States

A MicroVM is in one of the following states:

| State | Meaning |
|---|---|
| `creating` | The MicroVM is being provisioned. Its endpoint is not ready yet. |
| `running` | The MicroVM is running and serving requests. |
| `pausing` | The MicroVM is being paused. |
| `paused` | The MicroVM’s processes are suspended. Its memory, files, and processes are preserved. |
| `resuming` | The MicroVM is being resumed from a paused state. |
| `terminating` | The MicroVM is being deleted. |
| `terminated` | The MicroVM is deleted. |
| `failed` | The MicroVM could not be created or stopped working. The `failure_reason` field explains why. |
| `unknown` | The platform cannot determine the MicroVM’s state. |

## Auto-Pause and Auto-Resume

A MicroVM pauses automatically after it receives no traffic for its idle timeout. The idle timeout defaults to 5 minutes and can be up to 4 hours. You cannot turn auto-pause off.

When auto-resume is on, which is the default, any of the following resumes a paused MicroVM:

- An HTTP request to the MicroVM’s endpoint.
- A command run with `doctl compute microvm exec` or the API’s `exec` endpoint.
- A console session opened with `doctl compute microvm console` or the API’s `console` endpoint.

Requests, commands, and consoles wait until the MicroVM is running. If you turn auto-resume off when you create the MicroVM, it stays paused until you resume it yourself, and requests to a paused MicroVM fail.

You can also pause and resume a MicroVM manually. A paused MicroVM does not expire. It stays paused until you resume or delete it. For instructions, see [How to Pause and Resume a MicroVM](https://docs.digitalocean.com/products/microvms/how-to/pause-resume/index.html.md).

## Settings Are Fixed at Creation

You set every MicroVM setting when you create it, including its size, region, image, idle timeout, auto-resume, environment variables, tags, ports, and networking. You cannot change these settings afterward. To use different settings, create a new MicroVM.

A MicroVM cannot use more memory than its size provides, and it does not have swap. When a MicroVM runs out of memory, the guest kernel’s out-of-memory (OOM) killer ends processes.

## Billing by State

Compute charges for vCPU and memory accrue per second, only while a MicroVM is running. Storage charges for the MicroVM’s disk accrue whether it is running or paused. A paused MicroVM incurs storage charges only. For rates, see [MicroVMs Pricing](https://docs.digitalocean.com/products/microvms/details/pricing/index.html.md).