Resize an instance: move to a larger or smaller plan
Move an instance to another plan of the same line, up or down in vCPUs and memory: choose whether to grow the disk (growing is permanent), see what applies live and what needs a restart, and how the new price is billed.
Resizing moves an instance to another plan of the same line (Shared vCPU or Dedicated vCPU): more vCPUs and memory when it needs them, fewer when it does not. The instance keeps its disk contents, its public and private addresses, its SSH keys and its settings. Only the size and the price change.
Growing the disk is permanent: a disk cannot shrink, so afterwards you can only move to plans with at least that disk size. Keep the disk to keep smaller plans available; the price is the plan's either way.
This article covers:
- Resizing in the portal
- The disk: grow it or keep it
- What applies live and what needs a restart
- Billing
- Limits
- Through the API and AI assistants
1. Resize in the portal
- Open Instances and click the instance.
- Click Resize at the top of the page (or open the Resize tab).
- The page shows the current plan and price, then every plan the instance can move to, with its monthly and hourly price and the difference from what you pay now:
- ↑ Larger plans have at least as many vCPUs and as much memory; ↓ Smaller plans have fewer of either.
- Next size marks the first plan up from the current one.
- On a running server, each plan says Applies live or Restart needed (section 3).
- Click a plan. Under it:
- Grow the disk to N GB: ticked when the plan's disk is larger than the instance's (section 2).
- A table of what changes (vCPUs, memory, disk), now and after, and whether each part applies live or needs a restart.
- The price change.
- Click Review resize. Check the summary: the plan, the price change and your disk choice. Click Resize now.
- If part of the change needs a restart, the page asks first: Restart and resize goes ahead, Not now changes nothing.
- A progress bar follows the resize. When it finishes, the instance page shows the new size.
2. The disk: grow it or keep it
Each plan comes with a disk size. When you move to a plan with a larger disk, you choose:
- Grow the disk (the default): the instance's disk grows to the plan's size, and so do its partition and filesystem, so the new space is ready to use. On a running server this happens live.
- Keep the disk: untick Grow the disk to N GB. The disk stays as it is. You can grow it with a later resize.
Growing the disk is permanent: a disk cannot shrink, so afterwards you can only move to plans with at least that disk size. Keep the disk to keep smaller plans available; the price is the plan's either way.
So, if you might want to move back down later, keep the disk unless you need the space. For example: an instance on a plan with a 25 GB disk moves up to a plan with a 50 GB disk. With the disk kept at 25 GB, it can still move back to the smaller plan; with the disk grown to 50 GB, it can only move to plans with 50 GB or more.
When the plan's disk is not larger than the instance's, the box cannot be ticked and the disk stays as it is. Plans whose disk is smaller than the instance's current disk are not offered.
Need more space without changing the plan? A block volume (Volumes tab) adds storage that you can detach and delete again.
3. Live or restart
A stopped instance takes the whole change at once and has its new size when you start it.
On a running instance:
| Change | What happens |
|---|---|
| Disk grows | Live: the disk, partition and filesystem grow while it runs. |
| More vCPUs (Shared vCPU plans) | Live: the new vCPUs come online inside the server. |
| Fewer vCPUs, or any Dedicated vCPU change | Needs a restart. |
| More memory | Live, without a restart, on servers that started after live memory came to their region (one restart turns it on for an older server); otherwise it needs a restart. Ubuntu uses the new memory at once; on Debian and Alpine add memhp_default_state=online to the kernel command line first. |
| Less memory | Needs a restart. |
A restart takes about a minute: the server shuts down cleanly and boots again with the new size. Nothing is ever restarted without your agreement: the portal asks first, and the API refuses (section 6) until you say yes. If you prefer to choose the moment yourself, power the instance off, resize it, and power it on again.
After a live change, programs that sized themselves at start (a database's memory settings, a worker count) see the new size only when you restart them or change their settings.
4. Billing
- The new plan's price applies from the moment the change is applied: the hours before are billed at the old plan's price, the hours after at the new plan's.
- The price is the plan's, whatever the disk. Keeping the disk does not make a plan cheaper, and growing it costs nothing extra.
- Moving down lowers the price from the change in the same way.
- Resizing needs a payment method on file, like creating an instance.
5. Limits
- Same line only: a Shared vCPU instance moves between Shared vCPU plans, a Dedicated vCPU instance between Dedicated vCPU plans. To change line, take a snapshot and create a new instance from it.
- Secure VMs and GPU VMs keep their size. To get another size, create a new one of the size you need and move your data to it.
- Only plans offered in the instance's region are listed.
- The instance must be running or stopped, and one resize runs at a time.
- When the host has no room for a larger size right now, the resize fails and the instance keeps its plan; try again later or pick a smaller step.
6. Through the API and AI assistants
GET /v1/instances/{id}/resize-options lists the plans the instance can move to, with direction (up or down), disk_can_grow, and what each change does live, with and without growing the disk. POST /v1/instances/{id}/resize starts the change:
curl -sS -X POST https://api.nextifynow.com/v1/instances/$ID/resize \
-H "Authorization: Bearer $NEXTIFY_TOKEN" -H "Content-Type: application/json" \
-d '{"machine_type": "sm1.s2-4", "grow_disk": false}'
grow_diskdefaults totrue. Sendfalseto keep the disk.- When part of the change needs a restart, the answer is
409 restart_requiredwitherror.changes, and nothing changes. Send the same request with"restart": trueonce the restart is agreed. - The answer carries a
job_id: follow it withGET /v1/jobs/{job_id}.
The API documentation has a complete example. AI assistants connected through Nextify's MCP server use the list_resize_options and resize_instance tools, and confirm the plan, price and disk choice with you first.