[Q] How many KVM VMs can run on a single server with regards to RAM and CPU cores?

cmonty14

Well-Known Member
Mar 4, 2014
343
5
58
Hello! What exactly is limiting the number of VMs using KVM on a single server? For sure it's physical memory, because every KVM allocates all memory that is configured. But what about CPU? I mean I can configure 1-n CPUs assigned to a KVM depending on available CPU cores. Does this mean that I can only run 2 KVM on a server with a dual-core CPU although CPU load is very low in average? THX
 
Re: [Q] How many KVM VMs can run on a single server with regards to RAM and CPU cores

All you need - always have 30% RAM and CPU in reserve. Just dont overload machine.

And max amount of vm is depend of your host bus, nic, memory rank and more more more... You can have 50% load of cpu and have strong laggy of you vm's if your bus has overload. You will make strong queue.
 
Last edited:
Re: [Q] How many KVM VMs can run on a single server with regards to RAM and CPU cores

If you assign 1 core, then that VM will only ever use one core. All the other VMs can also access the same core. It's not like RAM where the core is dedicated.

As for the title question, that is entirely subjective. You'll have to experiment and see what you can get away with.
 
Re: [Q] How many KVM VMs can run on a single server with regards to RAM and CPU cores

Hello! What exactly is limiting the number of VMs using KVM on a single server? For sure it's physical memory, because every KVM allocates all memory that is configured. But what about CPU? I mean I can configure 1-n CPUs assigned to a KVM depending on available CPU cores. Does this mean that I can only run 2 KVM on a server with a dual-core CPU although CPU load is very low in average? THX
Hi,
depends on the load - normaly is RAM and IO the bottleneck (less the CPU power).

E.g. I have two hosts with 8cores and 32GB RAM with 13 running VMs (17cores on one node) without trouble.

Udo
 
Re: [Q] How many KVM VMs can run on a single server with regards to RAM and CPU cores

For sure it's physical memory, because every KVM allocates all memory that is configured.
not necessarily, you should consider dynamic memory management (ksm, balooning)

But what about CPU? I mean I can configure 1-n CPUs assigned to a KVM depending on available CPU cores.
no, I guess you don't know how it works. It's kinda "shared", although you can somewhat "assign" sockets/cores and weigh cpu cycles.

network throughput is the easier limit, but you can scale up, even through bonding.

Marco
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!