We have explicit recommendations from our application vendor to set CPU affinity for one of our VMs that runs their product. However this process is not entirely clear to me despite available docs. We're on ESXi 5.1 Enterprise Plus.
Looking at the Resources tab for a VM's settings you see under CPU:
Shares (I'd make this high enough so that it's never going to contend with others right?)
Reservation
Limit
The requirement is to set aside X cores for the VM so that there is never waiting or resource contention. They would also potentially like to set up memory affinity tied to the same socket for NUMA node efficiencies.
We have a host with 2 8-core processors with 256GB of memory. I'm not worried about the memory affinity. That should be as simple as checking the "reserve all guest memory" correct?
Is it simpler to just set up a resource pool for that CPU and Memory? The only concern I have there is if the CPU is using the same channels for memory. We don't want a CPU in one socket to use memory from another socket's channels for this VM.
And it's too late to go back to physical for this system.