> ## Documentation Index
> Fetch the complete documentation index at: https://docs.costgraph.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Virtual machines

> Read what each VM costs, how busy it is, and how to apply its rightsizing recommendation

The **Virtual Machines** page shows your compute instances across cloud
providers. For each one, you see what it costs, how much of it is used, and
what it would cost at the right size. VMs appear here once they run the
[CostGraph Agent](/costgraph/agent).

## Fleet

The top of the page summarizes the period you pick, month to date by default:

* **VM spend**, split into CPU, memory, and storage.
* **Savings Available** across all VMs, or **Fully optimized** when there is
  nothing to save.
* The five VMs that contribute most to spend.

Each row shows the instance, its location, type, pricing model, price, CPU, and
memory. It also shows runtime over the last 30 days, month-to-date and
projected cost, the recommendation, and status. The list shows active VMs
by default. Filter by status, provider, region, availability zone, instance
type, architecture, or operating system.

## Apply a recommendation

Select a VM's recommendation to open it. CostGraph compares the current and
recommended instance types. It shows the estimated savings, or the added cost
of an upsize, and the risk and effort of the change.

Choose how to apply it: **Terraform**, **CLI**, **AI Agent**, or **Manual**.
CostGraph gives you the change for that method to run yourself. It doesn't
change the VM. See [Recommendations](/costgraph/agent/recommendations) for how
CostGraph sizes a VM.

## VM details

Select a VM to open it. The header shows its vCPUs, memory, and its cost this
month against the projection. The tabs are **Overview**, **Metrics**, **GPUs**,
and **Containers**.

**Overview** shows:

* **System cost**, split into CPU, memory, and storage, with the
  recommendation.
* The VM's details: agent status and version, price, cost per hour, and
  running containers.
* Each disk's type, size, IOPS, throughput, monthly cost, and a cheaper disk
  type where one exists.
* A heatmap of CPU, memory, and pressure over time, and what drives CPU load.

**Metrics** charts the VM over the last hour by default, or the last 6 hours,
24 hours, 7 days, or 30 days:

| Section | Charts |
| - | - |
| CPU | Utilization, breakdown, contention, throttling, and system load |
| Memory | Utilization, composition, pressure, swap and reclaim, and working set |
| Disk | Filesystem usage, utilization, throughput, IO operations, and IO latency |
| Network | Traffic, throughput, and TCP retransmits |
| GPU | Utilization, memory utilization, and power draw |

**GPUs** lists the accelerators attached to the VM. See
[GPUs](/costgraph/gpus).

**Containers** lists the containers running on the VM, with their status, CPU
and memory usage, restarts, and uptime. Select one for its runtime, network,
ports, mounts, labels, and metrics.

## API

Everything on these pages is available in the
[CostGraph API](/api-reference/costgraph/introduction) under
`/api/v1/tenant/virtual-machines`: the fleet and its summary, each VM, its
metrics and containers. Graph AI and the [MCP server](/costgraph/mcp/usage)
read the same data.

## Next steps

<CardGroup cols={2}>
  <Card title="Machine identity" icon="fingerprint" href="/costgraph/agent/machine-identity">
    Correct the cloud, region, or instance type CostGraph detects for a VM.
  </Card>

  <Card title="Recommendations" icon="piggy-bank" href="/costgraph/recommendations">
    Every source of savings recommendations in CostGraph.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.