Skip to content

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.

VMs are the right choice when you need:

  • Full kernel control — custom kernel modules, system-level daemons, Docker-in-Docker, or anything that requires systemd and 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.
VMContainer
IsolationFull KVM/QEMU hypervisorLXC (shared kernel)
OSUbuntu 24.04 with own kernelUbuntu-based, shared host kernel
Public IPv4Assigned automaticallyNot available
Flavorsbase onlybase, genomics, datascience, marimo, datasciencemarimo, rstudioserver, rgeospatial
ResizeSupported, but requires a restartCPU and RAM can be changed live, without restart
GPUNot availableAvailable (NVIDIA)
Overhead~5-10% hypervisor overheadNear bare-metal performance
Boot time~30-60 seconds~5-15 seconds
  • Ubuntu 24.04 LTS with root access
  • Python 3.12, build essentials, common system packages
  • SSH access via login.carolinacloud.io or directly via public IP
  • NVMe storage — local to the host, bare-metal I/O performance
  • Public IPv4 with configurable firewall ports
ResourceMinMax
vCPUs1256
RAM1 GiB512 GiB
Disk10 GiB2,000 GiB

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.

  • 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.