I'm using vCPU tuning now.
It looks like this:
<cputune>
<shares>10000</shares>
</cputune>
That's the max amount of shares #libVirt / #VirtManager lets me allocate.
More shares = more priority (bigger fish).
The #PiHole #VM gets the max, because it runs DNS & DHCP - when it needs CPU cycles, it bloody well gets 'em!
#Nextcloud gets 5000, #HomeAssistant 4000, and #Jellyfin 1000 - they all can have the whole CPU, as long as there's no bigger fish around.



