Higher CPU utilization on i9-13900H vs i9-12900H for same VM – Proxmox 9.1.5

ilbarone87

Member
Sep 14, 2022
17
2
8
ENVIRONMENT

Node-01: Minisforum MS-01, Intel i9-12900H, 64GB RAM
Node-02: Minisforum MS-01, Intel i9-13900H, 64GB RAM
Proxmox: 9.1.5 on both nodes
Kernel: 6.17.9-1-pve on both nodes
BIOS: v1.27 on both nodes
VMs: 3 VMs per node, each with 8 vCPUs
Passthrough: One of the worker VM have NVMe disk passthrough and Intel iGPU passthrough via SR-IOV using the i915-sriov-dkms module (https://github.com/strongtz/i915-sriov-dkms)

PROBLEM

After upgrading both Proxmox nodes (same version, same kernel), the same VM shows significantly different CPU utilization depending on which node it runs on:

On node-01 (i9-12900H): ~11% CPU
On node-02 (i9-13900H): ~24% CPU

This is consistently reproducible. Migrating the VM to node-01 immediately drops CPU to ~11%, migrating back to node-02 raises it to ~24%. There is no actual performance degradation in the workloads, only the reported CPU% is higher.

The CPU jump is visible in the Proxmox host CPU graph. It went from ~15% to ~30% on node-02 around the time VMs were migrated back after the upgrade.

WHAT I’VE CHECKED

Both nodes are on identical Proxmox version (9.1.5) and kernel (6.17.9-1-pve).
BIOS version is the same (v1.27) on both.
QEMU version is the same on both.
CPU vulnerability mitigations are the same on both.
No thermal throttling on either node.
Turbo boost: toggling no_turbo on node-02 made no difference.
vmstat on node-02 shows higher guest CPU (22-26%) and significantly higher context switches (~55k-87k) compared to node-01 (~44k-72k, guest CPU 12-17%).
No abnormal host-level processes consuming CPU.
No swap usage, no I/O wait on either node.
Host CPU (us+sy) is minimal (~4-5%) on both.

P-CORE PINNING TEST

Pinning a VM to P-cores only (qm set <vmid> -affinity 0-11) on node-02 dropped CPU from ~24% to ~17%. This confirms E-core scheduling accounts for part of the difference, but there’s still a ~6% gap compared to node-01’s 11%.

However, pinning all VMs to P-cores isn’t practical since 3 VMs x 8 vCPUs = 24 vCPUs competing for only 12 P-core threads.

QUESTIONS

1. Has anyone else observed higher reported CPU utilization on 13th gen (Raptor Lake) vs 12th gen (Alder Lake) in Proxmox/KVM for identical workloads?
2. Is there a known difference in how KVM accounts CPU time on Raptor Lake vs Alder Lake, particularly with hybrid core scheduling?
3. Any kernel parameters or scheduler tuning that can improve vCPU scheduling on hybrid Intel CPUs without pinning?
4. Could the kernel upgrade have changed hybrid core scheduling behavior?

Any insights appreciated. The workloads themselves seem fine, it’s the reported CPU% that’s inconsistent between the two nodes.