Low CPU Utilization on Windows 10 guest 10700k Proxmox 6.2 w/ RTX 3080

zaptrem

New Member
Sep 29, 2020
20
0
1
24
CPU usage in games is limited to around 60% (compared to near 100% with bare-metal Windows). This strangles the GPU. I've been running Proxmox with two passed through 1070s for a while and never noticed the CPU utilization issue as 60% of a 10700k was enough to keep the 1070 fed. I upgraded to an RTX 3080 and noticed games don't go much above 60% utilization per thread even when I have nothing but one Windows VM running. Htop shows the same \~60-70% utilization as well. Edit: I’m definitely not GPU bound, as verified by low utilization graphs and testing with bare native and getting 2-3X perf in some games. PCIe is running at the same bandwidth as native.

The weirdest part is synthetic benchmarks and certain workloads (e.g., decompression) *can* push CPU usage both in Vm and htop to 100%.

I tried enabling HyperV enlightenments but my VM just boot loops until I disable them again. Could this be related?


Config:
```
args: -cpu 'host,+kvm_pv_unhalt,+kvm_pv_eoi,hv_vendor_id=ASUSS,kvm=off' -smp 16,sockets=1,cores=8,threads=2
balloon: 8192
bios: ovmf
boot: cdn
bootdisk: scsi0
cores: 16
cpu: host,hidden=1
cpuunits: 2048
efidisk0: local-lvm:vm-101-disk-2,size=4M
hostpci0: 01:00,pcie=1
ide2: local:iso/virtio-win-0.1.189.iso,media=cdrom,size=488766K
machine: q35
memory: 15000
name: Copy-of-VM-GuestWindows
net0: virtio=56:99:3B:44:93:AE,bridge=vmbr0
numa: 1
onboot: 1
ostype: win10
scsi0: /dev/disk/by-id/nvme-Sabrent_CD8E07951E9E52182035,size=1000204632K,ssd=1
scsihw: virtio-scsi-single
smbios1: uuid=87d06194-fda6-41da-a471-57dac5ef8f40
sockets: 1
unused1: local-lvm:vm-101-disk-0
usb0: host=1532:0032,usb3=1
usb1: host=046d:0a66,usb3=1
usb2: host=04d9:a0cd,usb3=1
vmgenid: d778c828-188d-41cd-aecd-fac186265bdc
```

Any idea how to solve this? Thanks for reading!
 
the line
args: -cpu 'host,+kvm_pv_unhalt,+kvm_pv_eoi,hv_vendor_id=ASUSS,kvm=off' -smp 16,sockets=1,cores=8,threads=2

overwrites the config of
cpu: host,hidden=1

and there are quite some extensions that may improve performance for you

so if you really need the args line (i guess you do not, if you set e.g. 'cpu: host,hv-vendor-id=something')
you should copy all options we set, you can check that with

qm showcmd ID --pretty

it shows you the complete qemu commandline