is overprovision of cpu threads on kvm vms possible?

dfk1976

Member
Jan 5, 2020
15
2
23
47
is it possible to overprovision cpu threads on kvm vms? as i know normally you can only use the available number of cpu threads and devide them over several kvm vms. but some days ago i read on an it blog something about vps linux servers of different providers who are offering servers on a shared platform and that they can do cpu overprovisioning, that means that they could host more cpu threads in total than there were physical available in reality. so is it somehow possible to do this or is this perhaps a wrong information?

ist es möglich, cpu-threads auf kvm-vms zu überdimensionieren? wie ich weiß, kann man normalerweise nur die verfügbare anzahl an cpu-threads nutzen und diese auf mehrere kvm-vms aufteilen. aber vor ein paar tagen habe ich in einem it-blog etwas über vps-linux-server verschiedener anbieter gelesen, die server auf einer gemeinsamen plattform anbieten und dass sie cpu-overprovisioning durchführen können, das heißt, dass sie insgesamt mehr cpu-threads hosten könnten, als in wirklichkeit physisch verfügbar sind. ist das also irgendwie möglich oder ist das vielleicht eine falsche information?
 
Last edited:
Let me show an example:

1 Server with 1 CPU consisting of 2 Cores/4 Threads can host dozens of VMs. But keep in mind that you should only use a maximum of 4 Cores per VM.

So yes, you can use many more virtual CPUs in all your VMs as you have threads in your CPU.
 
thanks for your explanation. so that means that the shared vps of some hosters can have much more clients by overprovisioning cpu. and here eventually the performance could be weaker if some clients are pulling much cpu computation.

concerning proxmox, do you need to configure for cpu overprovisioning a special cpu type like host, kvm64 or x86-64-v2-AES or doesn't it matter?

i also found this for the cpu overprovision topic:
https://pve.proxmox.com/pve-docs/chapter-qm.html#qm_cpu
It is perfectly safe if the overall number of cores of all your VMs is greater than the number of cores on the server (for example, 4 VMs each with 4 cores (= total 16) on a machine with only 8 cores). In that case the host system will balance the QEMU execution threads between your server cores, just like if you were running a standard multi-threaded application. However, Proxmox VE will prevent you from starting VMs with more virtual CPU cores than physically available, as this will only bring the performance down due to the cost of context switches.
 
Last edited:
  • Like
Reactions: Kingneutron

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!