How to locate most efficient CPU vs your host CPU

Binary Bandit

Well-Known Member
Dec 13, 2018
60
9
48
53
Hi All,

I want to use the newest processor type for our VMs. After some digging around on the Internet, reading this, and figuring out that our CPU ... an E5-2667 v4 ... is from the Broadwell family ... and running "kvm -cpu help" for the console, I see "x86 Broadwell-v4 Intel Core Processor (Broadwell, no TSX, IBRS)".

So .... my best CPU choice is "Broadwell-noTSX-IBRS" when setting up a VM?

I'm asking as I haven't been able to find a clear way of zeroing in on the most efficient CPU type to use in our cluster. Oh, and yes, the entire cluster has the same CPU type.

best,

James
 
So .... my best CPU choice is "Broadwell-noTSX-IBRS" when setting up a VM?

I'm asking as I haven't been able to find a clear way of zeroing in on the most efficient CPU type to use in our cluster. Oh, and yes, the entire cluster has the same CPU type.
In this case the best choice is "host".


Blockbridge : Ultra low latency all-NVME shared storage for Proxmox - https://www.blockbridge.com/proxmox
 
@bbgeek17, thank you. What you suggest is next on my list to understand. I stopped after seeing "If you care about live migration and security, and you have only Intel CPUs or only AMD CPUs, choose the lowest generation CPU model of your cluster." in the documentation here. Is this as simple as "host" being the lowest generation..." ?

I'd also like to know if my logic is correct in locating the CPU type just above "host".
 
What you suggest is next on my list to understand. I stopped after seeing "If you care about live migration and security, and you have only Intel CPUs or only AMD CPUs, choose the lowest generation CPU model of your cluster." in the documentation here. Is this as simple as "host" being the lowest generation..." ?
That documentation bit applies to heterogenous same-vendor clusters. If you have identical CPU in all of your hosts, then you can safely use "host" as CPU type.

No "host" is not the lowest generation, it really means non-emulated host-like CPU in VM. Its the best option, performance-wise for homogenous clusters.

If your cluster contains a mix of vendors (Intel and AMD), then you have to go with completely virtualized kvm64 CPU.


Blockbridge : Ultra low latency all-NVME shared storage for Proxmox - https://www.blockbridge.com/proxmox
 
  • Like
Reactions: Kingneutron
@bbgeek17, thank you.
Keep in mind, that if you pick "host" now and later expand your cluster, or upgrade one or more members, your VM will have problems with live migration. Just something to remember down the line. It may still be worth taking a brief outage during the upgrade later and getting the best performance now.

Good luck


Blockbridge : Ultra low latency all-NVME shared storage for Proxmox - https://www.blockbridge.com/proxmox
 
  • Like
Reactions: Kingneutron
That was my thought as well. We'll be using "Broadwell-noTSX-IBRS" for now. There are big performance gains vs. the "KVM 64" CPU, and I can drop a new cluster node without having to match the CPU down to the microcode exactly.
 

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!