You could theoretically manage each of your VMs in taskset, but ideally the CPU scheduler is already noticing when a core is occupied. However, having to pin each of your VMs and keep track of where each VM is pinned is a very manual task, made worse when you begin to involve Hyperconverged...