How Many VMs Can a Dedicated Server Run? A Sizing Method
How many VMs can a dedicated server run? On almost every host, RAM runs out before CPU. Take the installed memory, subtract what the hypervisor and any ZFS cache need, and divide by the RAM each guest gets. Then check CPU at your chosen vCPU to thread ratio, then check disk. A 128 GB server holds about 30 guests of 4 GB each.
The method works on any KVM host, Proxmox VE included. Swap in your own guest size and repeat the sums.
Limit one: RAM, after the host takes its share
Memory runs out first and running short hurts most. A KVM host that runs out of RAM starts swapping, or the out of memory killer ends a QEMU process, which the guest experiences as a crash. CPU contention only makes guests slower. So plan memory without overcommit: the RAM you promise to guests should fit inside the RAM the host can spare.
Reserve memory for the host first. The hypervisor, its management services and each guest's QEMU process all need RAM. A workable planning figure is 8 GB for every 128 GB installed: 8 GB on a 128 GB server, 64 GB on a 1 TB server.
ZFS needs its own share
If the guests live on ZFS, the ARC (the ZFS read cache in RAM) is a second claim on memory. It grows into free memory and gives it back under pressure, but not always as fast as a guest asks. Cap it with the zfs_arc_max module parameter at a size you choose and subtract that cap too. On a 128 GB server, an 8 GB cap plus the 8 GB reserve leaves 112 GB, which is 28 guests of 4 GB instead of 30.
Ballooning and KSM are not capacity you can sell
Memory ballooning uses a driver inside the guest to return unused pages to the host. Kernel Samepage Merging (KSM) finds identical memory pages across guests and keeps one shared copy. Both help when many similar guests sit partly idle. Neither is a guarantee: ballooning only recovers memory a guest is not using, and KSM savings shrink as guests diverge or get busy, exactly when they need the memory. Treat what they recover as headroom, never as VMs you can sell.
Limit two: CPU and the vCPU to thread ratio
CPU overcommits more safely, because most guests idle most of the time. Each vCPU is a host thread that the Linux scheduler places on a free hardware thread when the guest has work. Assign more vCPUs than hardware threads and guests take turns. The cost shows up as steal time inside the guest, the st column in top.
The vCPU to physical core ratio is a loose phrase. With SMT (simultaneous multithreading) each core runs two hardware threads, and most sizing, ours included, counts threads. These CPU overcommit ratios are starting points, not rules:
- 1:1 for latency sensitive or CPU busy guests: busy databases, CI runners, trading bots, transcoding.
- Around 2:1 to 4:1 for typical web and application VMs that idle between requests.
- Higher than 4:1 only for mostly idle dev and test guests.
Leave a few threads for the host, then watch steal time once guests are live. If guests on a 4:1 host show steady steal time, move the busiest ones or lower the ratio.
Limit three: storage capacity and IOPS
Capacity is the sum of every virtual disk plus snapshots, templates and local backups. IOPS is how many small reads and writes the array serves when many guests hit it at once. Thirty guests writing logs and databases make random IO that a single SATA SSD struggles with and NVMe handles far better, as our comparison of SSD and NVMe storage explains.
Our Intel Xeon servers include a single 240 GB SSD, fine for an operating system but too small for a VM host, and unmirrored. Thirty guests at 40 GB need 1.2 TB before snapshots, so plan a larger SSD array at checkout. The EPYC servers include 2 × 1 TB NVMe, which mirrors to 1 TB usable. That holds 30 guests at 30 GB with little to spare, so larger counts need a bigger NVMe array chosen at checkout.
Worked example: VM density per server
The table sizes a guest of 2 vCPU and 4 GB on every dedicated server we sell. It reserves 8 GB per 128 GB for the host (8, 16, 32 and 64 GB on 128, 256, 512 and 1024 GB) and uses a 4:1 vCPU to thread ratio. The lower of the two limits is the answer.
| Server | RAM | Host reserve | VMs by RAM | Threads | VMs by CPU at 4:1 | VMs | EUR per month | EUR per VM |
|---|---|---|---|---|---|---|---|---|
| Dual Xeon E5 2630 v3 | 128 GB | 8 GB | 30 | 32 | 64 | 30 | €225 | €7.50 |
| Dual Xeon E5 2690 v4 | 128 GB | 8 GB | 30 | 56 | 112 | 30 | €249 | €8.30 |
| Dual Xeon E5 2699 v4 | 256 GB | 16 GB | 60 | 88 | 176 | 60 | €325 | €5.42 |
| Single EPYC 9254 | 128 GB | 8 GB | 30 | 48 | 96 | 30 | €485 | €16.17 |
| Dual EPYC 9254 | 256 GB | 16 GB | 60 | 96 | 192 | 60 | €739 | €12.32 |
| Dual EPYC 9554 | 512 GB | 32 GB | 120 | 256 | 512 | 120 | €1049 | €8.74 |
| Dual EPYC 9754 | 1024 GB | 64 GB | 240 | 512 | 1024 | 240 | €1659 | €6.91 |
At 4:1, RAM binds first on every row. The per VM figures exclude the storage upgrade most rows need and your time running the hypervisor. They also hide real differences: the EPYC rows buy newer Zen 4 and Zen 4c cores that do more work per clock, DDR5 and NVMe, so a guest on a Dual EPYC 9554 gets more done per vCPU than the same guest on a Xeon E5 2630 v3. Our breakdown of dedicated server cost per core makes the same point in cores.
At 1:1, CPU binds first on five servers
For CPU busy guests use 1:1. The Dual Xeon E5 2630 v3 then holds 32 threads divided by 2 vCPUs, which is 16 VMs, not 30. The Dual Xeon E5 2699 v4 drops to 44 and the Single EPYC 9254 to 24. Only the Dual EPYC 9554 (128 by CPU, 120 by RAM) and Dual EPYC 9754 (256 against 240) stay RAM bound. Our EPYC 9554 and 9754 comparison covers choosing between them.
NUMA, ECC and Proxmox host sizing
Six of our seven servers are dual socket. Each socket has its own local RAM, and a guest whose vCPUs run on one socket while its memory sits on the other pays extra latency on every remote access. Keep each VM inside one socket where you can, and enable the NUMA option on any guest large enough to span both. lscpu and numactl show the layout, and our guide to single and dual socket servers and NUMA goes deeper.
Density raises the stakes on memory errors. When one box holds 60 guests, an uncorrected error that crashes the host takes all 60 down. Every dedicated server we sell uses ECC memory, which corrects single bit errors and detects larger ones. See what ECC memory protects for the limits.
Proxmox VE 8.4 and 9.x are images at checkout on every dedicated server. Proxmox runs without a subscription, but if you want the enterprise repository and vendor support, subscriptions are priced per CPU socket, so a dual socket server costs twice as much to subscribe as a single socket one such as the Single EPYC 9254.
One host is one failure domain
Sixty VMs on one server share one motherboard, one set of memory and one power path. A failed board or power supply takes them all offline at once, so density is a decision about blast radius as well as cost.
Back up every guest to storage outside the host, test restores, and decide in advance where guests go if the host fails: a second server, or a restore onto fresh hardware. Our guide to automating server backups covers scheduling. Two smaller hosts instead of one large one means a failure halves capacity instead of removing it.
If you would rather not run a hypervisor, the KVM VPS range gives you separate virtual machines without the host work. The Pulse plan matches the table's guest, 2 vCPU, 4 GB and 40 GB of disk, at €6.50 a month at the Romania base price, and upgrades are a resize in the panel. Our article on when you need a virtualisation host shows where the line falls.
Questions we get
What vCPU to physical core ratio should I start with?
Start at 4:1 vCPUs to hardware threads for web and application guests, 1:1 for busy databases and CI runners, and higher only for idle dev and test machines. Then watch steal time and adjust.
Can I overcommit RAM on a Proxmox host?
Proxmox lets you, through ballooning and KSM, but do not plan capacity on it. Promised guest memory should fit in physical RAM after the host reserve and any ZFS ARC cap.
How many VMs fit on a 128 GB server?
With 8 GB reserved for the host, 120 GB is left: 30 VMs of 4 GB, 60 of 2 GB or 15 of 8 GB. Then confirm CPU and storage support that count.
Is the included disk enough for a VM host?
Not on the Xeons, whose single 240 GB SSD suits only the operating system. On the EPYCs the 2 × 1 TB NVMe mirror gives 1 TB usable, enough for a modest number of guests.
Size your host
Pick your guest size, run the three checks and choose the smallest server where RAM, CPU and storage all clear with room to grow. Compare every configuration on the dedicated servers page, or start from the Dual Xeon E5 2699 v4 for 60 typical guests, delivered in about 45 minutes, or the Dual EPYC 9554 for 120 guests on DDR5, built to order in about 14 days.
Deploy what you just read about
Deploy your first server now.
No contracts, no minimum term. Intel Xeon builds carry a delivery estimate of under an hour; AMD EPYC builds are made to order. Every configuration has full root, ECC memory and a guaranteed 1 Gbps unmetered port.
Dedicated billed monthly · No setup fee · Full root on every server
- IPv4 address
- One included
- Unmetered port
- 1 Gbps guaranteed
- DDoS protection
- 1 Tbps · L3/L4
- Root access
- Included
- Setup fee
- €0.00
- Minimum term
- None