i9 13900k & Performance Cores nur 3GHz in VM

PWNY

New Member
Nov 29, 2022
18
0
1
Hallo zusammen,

ich habe einen 13900k im Einsatz und aktuell das Problem, dass ich die Geschwindigkeit der Performance Cores nicht erreiche.
Auf dem PVE Host passt das mit den Geschwindigkeiten & das sieht da wie folgt aus:

1673721256309.png
PVE Host Infos:
PVE Version: 7.3-4
Kernel Version: 6.1.0-1-pve

Wenn ich auf einer VM einen Benchmark oder Stresstest mache liegen dennoch leider überall nur die 3GHz konstant an.
Infos zu der VM auf der ich getestet habe:
OS: Debian 11
Kernel Version: 6.0.0-0.deb11.6-amd64
1673721555730.png

Geekbench5 Benchmark sieht daher wie folgt aus: https://browser.geekbench.com/v5/cpu/19886634
Hier mal ein paar Vergleichswerte: https://browser.geekbench.com/search?q=13900k

Jemand noch eine Idee was ich probieren könnte?
 
Das GastOS sieht nur eine virtuelle CPU, nicht die physische CPU. Folglich kannst du die Taktraten im Gast OS völlig ignorieren. Du könntest dir auch eine VM mit 100 vCPU Kernen erstellen, dann würdest du halt 100x 3GHz sehen. Das Gast OS zeigt da für jeden vCPU Kern einfach nur fix den Standardtakt deiner physischen CPU an.

Genau so sieht deine VM auch keinen echten phyischen RAM/NIC/Disk/GPU etc. Alles ist nur virtuell und voll isoliert. VMs haben also keinerlei Zugriff auf die physische HArdware, außer du reichst die Hardware per PCI Passthrough durch.
 
Last edited:
Das GastOS sieht nur eine virtuelle CPU, nicht die physiche CPU. Folglich kannst du die Taktraten im Gast OS völlig ignorieren. Du könntest dir auch eine VM mit 100 vCPU Kernen erstellen, dann würdest du halt 100x 3GHz sehen. Das Gast OS zeigt da für jeden vCPU Kern einfach nur fix den Standardtakt deiner physichen CPU an.

Genau so sieht deine VM auch keinen echten phyischen RAM/NIC/Disk/GPU etc. Alles ist nur virtuell und voll isoliert. VMs haben also keinerlei Zugriff auf die physiche HArdware, außer du reichst die Hardware per PCI Passthrough durch.
Stimmt, das macht absolut Sinn, Danke :)

Trotz alledem ist der Geekbench Benchmark im Multicore trotzdem leider nicht ansatzweise an dem Score was die CPU können soll.
Die VM mit der ich das getestet habe, hat alle Cores zugewiesen bekommen und hat dennoch diesen vergleichsweise niedrigen Score.
Single Core passt, jedoch Multiscore nicht einmal die Hälfte..
 
Du hast nichts zu deiner VM Konfig geschrieben. Wenn du z.B. den standardmäßigen CPU Type "kvm64" beibehältst und nicht auf etwas effizienteren wie "host" wechselst, wenn wirst du CPU-Leistung verlieren, da die virtuelle CPU dann keine erweiterten Befehlssätze wie AVX2 und Co nutzen darf, obwohl es die physische CPU unterstützen würde.

Und dann hast du bei den neueren Intel Chips natürlich noch das Problem mit dem P/E-Cores. PVE entscheidet ja selbst, wie es die Prozesse der virtuellen CPU Kerne auf die Threads der physischen CPU verteilt. Hier kann CPU pinning helfen, indem du eine VM die hohe Single-Threaded-Performance braucht auf die P-Cores limitierst, dass da PVE die VM nicht auf E-Cores laufenlassen darf.

Und Dinge wie Ballooning kann z.B. den RAM bremsen und damit indirekt dann auch die CPU-Performance.
 
Last edited:
Du hast nichts zu deiner VM Konfig geschrieben. Wenn du z.B. den standardmä´ßigen CPU Type "kvm64" beibehältst und nicht auf etwas effizienteren wie "host" wechselst, wenn wirst du CPU-Leisting verlieren, da die virtuelle CPU dann keine erweiterten Befehlssätze wie AVX2 und Co nutzen darf, obwohl es die physische CPU unterstützen würde.

Und dann hast du bei den neueren Intel Chips natürlich noch das Problem mit dem P/E-Cores. PVE entscheidet ja selbst, wie es die Prozesse der virtuellen CPU Kerne auf die Threads der physischen CPU verteilt. Hier kann CPU pinning helfen, indem du eine VM die hohe Single-Threaded-Performance braucht auf die P-Cores limitierst, dass da PVE die VM nicht auf E-Cores laufenlassen darf.

Und Dinge wie Ballooning kann z.B. den RAM bremsen und damit indirekt dann auch die CPU-Performance.

Die VM-Config findest du unten in den Screenshots.

Zum CPU-Type sind alle VMs auf "Host" gesetzt, da es für die Intel 13th Gen (Raptor Lake) noch keinen CPU-Type gibt.
CPU pinning habe ich bereits gemacht. Ich habe eine VM die die aufwendigsten Prozesse handelt & daher die CPU Cores 0-7 zugewiesen bekommen hat. (Ich bin mir aber nicht zu 100% sicher, dass dies wirklich die P-Cores sind - vielleicht kannst du dazu noch etwas sagen)
Den anderen VMs habe ich die E-Cores aufgeteilt (CPU Cores 8-31)
Beim RAM habe ich Ballooning bei allen VMs deaktiviert.

1673741256703.png


1673741273530.png


1673741290850.png


1673741335176.png


Ich hoffe, dass ich nichts vergessen habe.

Danke schon mal für deine Bemühungen :)
 
Zeig am besten deine schnellere config her, falls das jemand nachstellen will :)
 
Danke.
Interessanterweise erziele ich im Geekbench ganz gute Resultate (obwohl ich noch gar nicht viel 'verstellt' habe).
https://browser.geekbench.com/v5/cpu/19956191
https://browser.geekbench.com/processors/intel-core-i9-12900

Ich habe die CPU Affinity auf "0-19" eingestellt, um die ersten 19 Cores an die Ubuntu VM zu vergeben.
Nun ich etwas irritiert, weil
Mir scheint, als identifiziert die VM zwar die CPU korrekt als 12900, aber die Topology stimmt eben nicht (was wohl fair ist, das es eben eine VM ist).

Also, wenn ich in Proxmox 20 CPUs an eine VM zuweise, dann bleibt schon noch 'etwas übrig' (4 CPUs) für Host und die anderen VMs, richtig?
Sehe ich das richtig, dass die restlichen 4 CPUs (efficiency cores) kaum etwas beitragen zum Multithread resultat?
 

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!