I’ve recently been working with a customer who has been a program of right-sizing vCPUs and Memory based on recommendations from vC Ops oversized VM reports. For many virtual machines, the vC Ops report has recommended a vCPU count of 3, and I’ve had to work hard to justify this to the customer, and realign their thinking away from the traditional pCPU architecture based on a 20=1, 21=2, 2^2=4, etc. system.
Just to clarify, vSphere 5 introduced VM Hardware Version 8 (AKA Hardware Compatibility Mode). This is the minimum version of virtual machine hardware that is required to allow odd numbered vCPUs on the guest.
Although vSphere 5 supports VMs with odd or/and even number of vCPUs, there is no specific recommendations about this from VMware. Basically, vC Ops recommends the number of required vCPUs depending on the requirements of the workload displayed over time, and the most important thing is that you’re careful about allocating more vCPU's than physical cores per pCPU (for NUMA locality) and that you only allocate as many vCPU cores as the application needs.
Whilst there is no recommendation for/against odd numbers of vCPU’s, we are all of course tuned to the physical world where we talk about 2, 4, 6, 8 CPUs etc. and 1024MB, 2048MB etc. of memory and it sometimes hard to unlearn what we’ve learned over such a long time. Below is an article that covers this question in a bit more depth. http://blog.solori.net/tag/odd-core-counts-with-vmware/