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

# Resize a VM

> Change CPU, RAM, or disk size on a virtual machine

<sub>Updated May 8, 2026</sub>

Resize lets you change a VM's plan (CPU + RAM) or grow its disk. Both run from the **Resize** tab on the VM detail page; both require the VM to be **powered off** first.

## Open the Resize tab

On the VM detail page, click **Resize** — top action bar, or the **Resize** tab in the secondary nav. You'll see the **Current Configuration** at the top and two sub-tabs: **Compute Resources** (CPU & RAM) and **Storage** (Disk Size).

<Frame>
  <img src="https://mintcdn.com/rafftechnologiesllc/KFKEsJgQ3IuaIJdK/images/products/compute/vm/manage/resize-01-resize-tab.png?fit=max&auto=format&n=KFKEsJgQ3IuaIJdK&q=85&s=49010c4d695d14a7c542b44297c1269c" alt="Resize tab showing current configuration and the Compute Resources / Storage sub-tabs, plus the Stop VM warning" width="2000" height="1288" data-path="images/products/compute/vm/manage/resize-01-resize-tab.png" />
</Frame>

## 1. Power off the VM

Both compute and storage resize require the VM in `passive` state. Click **Stop VM** in the warning banner, or use the [Power tab](/products/build/virtual-machines/quickstart-guides/manage-power) on the detail page. Wait for status to flip to `passive` before continuing.

<Warning>
  Storage resize is **one-way** — disks can grow but cannot shrink. Decide carefully before increasing.
</Warning>

## 2a. Compute Resources — change CPU and RAM

Not sure whether to resize? Check the [Monitoring & metrics](/products/build/virtual-machines/concepts/monitoring-and-metrics) graphs first — sustained 80%+ CPU or memory pressure is the signal that a resize will actually help.

In the **Compute Resources** sub-tab:

1. Pick a **VM TIER** — General Purpose or CPU-Optimized. You can switch tiers as part of the resize.
2. Pick a new plan from the **SELECT NEW PLAN** grid. Your current plan is marked **Current** (green); your selection is highlighted **Selected** (orange).

The footer summary updates with the price change and the prorated **Charge** for the upgrade — or balance credit if you downsize.

<Frame>
  <img src="https://mintcdn.com/rafftechnologiesllc/KFKEsJgQ3IuaIJdK/images/products/compute/vm/manage/resize-02-compute-plan-and-charge.png?fit=max&auto=format&n=KFKEsJgQ3IuaIJdK&q=85&s=f670b645a0afc779699e5aa2f7583afd" alt="Compute Resources plan grid with a new plan selected and the footer showing Current $4.99/mo → New $6.51/mo and Charge $1.12" width="1814" height="1610" data-path="images/products/compute/vm/manage/resize-02-compute-plan-and-charge.png" />
</Frame>

## 2b. Storage — grow the disk

In the **Storage** sub-tab:

1. Drag the slider, or type a new size in the GB field — must be **larger** than the current size.
2. The right side shows **New Size** in red until you pick a value above the current.

<Frame>
  <img src="https://mintcdn.com/rafftechnologiesllc/KFKEsJgQ3IuaIJdK/images/products/compute/vm/manage/resize-03-storage-disk-size.png?fit=max&auto=format&n=KFKEsJgQ3IuaIJdK&q=85&s=321a854f55c4d617a7a13fa3407c67cf" alt="Storage disk size with the one-way warning, slider, and validation message New size must be larger than current size" width="1808" height="1466" data-path="images/products/compute/vm/manage/resize-03-storage-disk-size.png" />
</Frame>

You can mix changes: pick a new compute plan **and** grow the disk, then check out once.

## 3. Proceed to checkout

Click **Proceed to Checkout**. The order summary shows the prorated charge.

* **Account balance covers it** — click **Activate Subscription**. No card charge; balance is debited and the resize starts.
* **Balance doesn't cover it** — the standard payment form appears (Google Pay, saved card, or new card), same as VM creation.

<Frame>
  <img src="https://mintcdn.com/rafftechnologiesllc/KFKEsJgQ3IuaIJdK/images/products/compute/vm/manage/resize-04-checkout.png?fit=max&auto=format&n=KFKEsJgQ3IuaIJdK&q=85&s=91b60349bf3a4107aed1b22a83d0395d" alt="Resize checkout: No Payment Needed when account balance covers the prorated charge of $1.12" width="2000" height="1017" data-path="images/products/compute/vm/manage/resize-04-checkout.png" />
</Frame>

After confirmation:

* **Compute resize** — the platform applies the new plan, then boots the VM. It returns to `active` on the same IP, with the new CPU/RAM.
* **Storage resize** — the disk grows immediately. You may need to extend the partition and filesystem inside the OS — see the per-OS steps below.

## Extending the filesystem after a disk resize

Storage resize grows the underlying disk, but the **partition table** and **filesystem** inside the guest don't auto-extend. You'll see the new GBs at the disk level (`lsblk`, `Get-Disk`) but only the original size at the filesystem level (`df`, `Disk Management → free space`) until you extend.

### Linux — `growpart` + filesystem resize

After the VM reboots into the resized disk, SSH in and run:

```bash theme={null}
# Find the device — usually /dev/vda1 (the OS disk's first partition)
lsblk

# Install cloud-utils if not present
# Ubuntu / Debian
sudo apt-get update && sudo apt-get install -y cloud-guest-utils

# RHEL family
sudo dnf install -y cloud-utils-growpart

# Grow the partition (note the SPACE between device and partition number)
sudo growpart /dev/vda 1

# Resize the filesystem in place
# ext4 (Ubuntu, Debian, RHEL default)
sudo resize2fs /dev/vda1

# xfs (some RHEL setups)
sudo xfs_growfs /

# Verify
df -h /
```

Expected output (going from 50 GB → 120 GB):

```
$ growpart /dev/vda 1
CHANGED: partition=1 start=2048 old: size=104855552 end=104857599 new: size=251656192 end=251658239

$ resize2fs /dev/vda1
resize2fs 1.47.0 (5-Feb-2023)
Filesystem at /dev/vda1 is mounted on /; on-line resizing required
old_desc_blocks = 7, new_desc_blocks = 15
The filesystem on /dev/vda1 is now 31457024 (4k) blocks long.

$ df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1       118G  3.2G  115G   3% /
```

If `growpart` reports `NOCHANGE: partition is already the size of the device`, you're done — sometimes the resize ran on first boot via cloud-init.

### Windows — Disk Management

After the VM reboots, sign in and:

1. **Open Disk Management** — Right-click **Start** → **Disk Management** (or `diskmgmt.msc`)
2. **Refresh** — Action menu → Refresh. The disk now shows the new size; the existing volume (typically `C:`) is followed by **Unallocated** space
3. **Right-click the existing volume** (e.g., `C:`) → **Extend Volume...**
4. The Extend Volume Wizard opens — click **Next**, accept the default to use all available unallocated space, click **Next**, then **Finish**
5. The volume now spans the full disk; `C:` shows the new size in **This PC**

If **Extend Volume** is greyed out:

* The unallocated space isn't immediately to the right of the volume you're trying to extend (Windows can only extend into adjacent unallocated space). Move data off, delete the intermediate volume, then extend.
* **MBR-partitioned disks have a 2 TiB limit** — if you're trying to grow past that, the disk needs to be GPT. Convert via `mbr2gpt.exe` from an elevated prompt (`mbr2gpt /convert /allowFullOS`) before extending.

PowerShell equivalent if you prefer scripting:

```powershell theme={null}
# Verify the disk grew
Get-Disk

# Find the C: partition's max supported size
$size = Get-PartitionSupportedSize -DriveLetter C
Resize-Partition -DriveLetter C -Size $size.SizeMax
```

Verify with `Get-Volume` or by opening **This PC** in Explorer.

## Billing

Resize is settled against your subscription term:

* **Upsize** — the prorated difference between the old and new plan is charged (or applied from your balance) for the remainder of the term.
* **Downsize** — the prorated difference is **credited back to your account balance**.

The new rate then applies for the rest of the current term and renewals.

## What's preserved

* **IP addresses** — public and private IPs unchanged
* **Disk contents** — all data retained
* **Attached resources** — volumes, security groups, tags, snapshots, backups untouched
* **Subscription term** — same renewal date

## Next steps

<CardGroup cols={2}>
  <Card title="Plans & sizing" icon="lightbulb" href="/products/build/virtual-machines/concepts/plans-and-sizing">
    What's bundled in each plan.
  </Card>

  <Card title="Pricing" icon="circle-info" href="/products/build/virtual-machines/details/pricing">
    Subscription billing and balance credits.
  </Card>
</CardGroup>
