VM Overview
Carolina Cloud VMs are full KVM/QEMU virtual machines running Ubuntu 24.04 LTS. Each VM gets its own kernel, dedicated NVMe storage, and a public IPv4 address assigned automatically.
When to use a VM
Section titled “When to use a VM”VMs are the right choice when you need:
- Full kernel control — custom kernel modules, system-level daemons, Docker-in-Docker, or anything that requires
systemdand root-level OS access. - A public IPv4 address — VMs receive a public IP automatically. Open specific ports or all ports via the dashboard or API.
- Maximum isolation — KVM provides hardware-level isolation. Your VM is a separate operating system, not a process on a shared kernel.
- Persistent services — web servers, databases, CI runners, or any long-running daemon that needs to survive reboots.
VM vs. Container
Section titled “VM vs. Container”| VM | Container | |
|---|---|---|
| Isolation | Full KVM/QEMU hypervisor | LXC (shared kernel) |
| OS | Ubuntu 24.04 with own kernel | Ubuntu-based, shared host kernel |
| Public IPv4 | Assigned automatically | Not available |
| Flavors | base only | base, genomics, datascience, marimo, datasciencemarimo, rstudioserver, rgeospatial |
| Resize | Supported, but requires a restart | CPU and RAM can be changed live, without restart |
| GPU | Not available | Available (NVIDIA) |
| Overhead | ~5-10% hypervisor overhead | Near bare-metal performance |
| Boot time | ~30-60 seconds | ~5-15 seconds |
What you get
Section titled “What you get”- Ubuntu 24.04 LTS with root access
- Python 3.12, build essentials, common system packages
- SSH access via
login.carolinacloud.ioor directly via public IP - NVMe storage — local to the host, bare-metal I/O performance
- Public IPv4 with configurable firewall ports
Resource limits
Section titled “Resource limits”| Resource | Min | Max |
|---|---|---|
| vCPUs | 1 | 256 |
| RAM | 1 GiB | 512 GiB |
| Disk | 10 GiB | 2,000 GiB |
Resizing a VM
Section titled “Resizing a VM”You can change a VM’s vCPUs, RAM, and disk after it’s created — from the dashboard, edit the instance and submit the new sizes.
A resize restarts the VM. Unlike containers, which can change CPU and RAM live, a VM’s resources are applied at the hypervisor level, so the VM is gracefully rebooted (shutdown → apply → start) to take effect. The reboot is automatic, but it interrupts anything running on the VM, so the dashboard asks you to confirm before sending the request. Expect the VM to be unavailable for roughly 60-90 seconds while it cycles; it shows a resizing state until it’s back up.
Disk can only grow. You can increase a VM’s disk, but you cannot shrink it — the underlying disk image can’t be safely reduced in place. Requests for a smaller disk are rejected. vCPUs and RAM can be adjusted in either direction (within the resource limits above).
After a resize, billing switches to the new size from the moment it’s applied.
CPU tiers
Section titled “CPU tiers”- General Purpose — AMD EPYC 7000 series processors. Good for most workloads.
- High Performance — AMD Threadripper 7000 / EPYC 9000 series with 5+ GHz boost clocks. Recommended for single-threaded and latency-sensitive workloads.
High-performance vCPUs are billed at twice the general-purpose vCPU rate ($0.01 vs $0.005 / vCPU / hr); RAM and disk cost the same on both tiers. See Pricing & Billing for the full rate table.