Which is a valid reason NOT to set affinity on a single virtual machine (VM)?
A.
Affinity settings are ignored as part of a VMotion
B.
Setting affinity will monopolize a CPU making it unusable for other VMs on the
server.
C.
A VM with affinity might not receive 100 percent of the CPU.
D.
Affinity can only be set on hyper-threaded systems.
Explanation:
vSphere Resource Management Guide ESX 4.0 ESXi 4.0 vCenter Server 4.0, page 19,
20.
By specifying a CPU affinity setting for each virtual machine, you can restrict the
assignment of virtual machines to a subset of the available processors in multiprocessor
systems. By using this feature, you can assign each virtual machine to processors in the
specified affinity set. In this context, the term CPU refers to a logical processor on a
hyperthreaded system, but refers to a core on a non-hyperthreaded system. The CPU
affinity setting for a virtual machine applies not only to all of the virtual CPUs associated
with the virtual machine, but also to all other threads (also known as worlds) associated
with the virtual machine. Such virtual machine threads perform processing required for
emulating mouse, keyboard, screen, CD-ROM and miscellaneous legacy devices.
Consider your resource management needs before you enable CPU affinity on hosts
using hyperthreading. For example, if you bind a high priority virtual machine to CPU 0
and another high priority virtual machine to CPU 1, the two virtual machines have to
share the same physical core. In this case, it can be impossible to meet the resource
demands of these virtual machines. Ensure that any custom affinity settings make sense
for a hyperthreaded system.