How to differentiate between KVM CPU models and select appropiately?

Jul 6, 2020
5
1
23
40
We've recently discovered the performance improvements for choosing a CPU model which most closely matches our cluster. I want to work out the best way to determine the correct 'lowest' cpu model for the cluster. We have both:

Intel(R) Xeon(R) Gold 6140 CPU
and
Intel(R) Xeon(R) Gold 6330N CPU

In the cluster, I believe (from Googling) the 6140 is the Skylake generation and the 6330 is the Ice lake. Is there a better way to find this out examining /proc or something?

Also how would one determine between the different 'Skylake' models to use? I went for Skylake-Server-v5 because it was the highest version no, but I don't quite understand the difference. I'd also like to know about the variants like Skylake-Server-noTSX-IBRS?
 
What PVE version do you use? In PVE 8, there is already an improved KVM Processor available (v2, which is the default now) with a better feature set. An overview can be seen here. Best performance will always be HOST, yet also not recommended in mixed CPU clusters.
 
  • Like
Reactions: herzkerl
What PVE version do you use? In PVE 8, there is already an improved KVM Processor available (v2, which is the default now) with a better feature set. An overview can be seen here. Best performance will always be HOST, yet also not recommended in mixed CPU clusters.

I'm on 8.1 and don't see a new KVM processor:

Screenshot 2024-03-28 at 06.26.55.png
Ah, but I see in the CPU docs:

The backend default is kvm64 which works on essentially all x86_64 host CPUs and the UI default when creating a new VM is x86-64-v2-AES, which requires a host CPU starting from Westmere for Intel or at least a fourth generation Opteron for AMD.

So I think on my one of my clusters, I can go higher than that and I just discovered this tool:
GitHub - HenrikBengtsson/x86-64-level: x86-64-level - Get the x86-64 Microarchitecture Level on the Current Machine

Which indeed says level 4:

Bash:
$ ./x86-64-level
4

Found the migration docs helped clarify this for myself:
if some nodes in the cluster have different CPU models, or you plan to extend the cluster using different CPUs in the future, we recommend using one of the generic x86-64-v<X> models.
 
Last edited:
  • Like
Reactions: herzkerl

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!