So you have a single threaded application that maxes out on its thread?
If you virtualize this application, the behavior will look the same from the inside of your VM e.g. the vCPU.
However if you look at the pCPU then it doesn't have to be maxed out as the ESX scheduler makes the decision about the amount of time slices that your application gets.
So with ESX you are able to use more of your processor (it doesn't get stuck in this one process)
Its not that ESX will balance your single-threaded application over multiple threads / CPU's, if that's what your after.
At least, that's not my understanding| Author of Vimalin. The virtual machine Backup app for VMware Desktop Products
| Vimalin : Automated backups for VMware Fusion and VMware Workstation Professional
| More info at https://www.vimalin.com
| Twitter @wilva
| VMware Wiki at http://www.vi-toolkit.com
You have a hyper threaded CPU. This means that the logical CPUs (1, 3) are basically idle times and they will kick in when the pCPU need additional help, then it will use the logical CPU. They are NOT full cycle CPU's, don't expect them to give you any more than a 20% boost if that, this is one reason why hyperthreading may not work well for ALL VM's.
This is actually an argument for why I purposely assign CPU (using affinity) on machines that enable hyperthreading, so I KNOW I am getting a full cycle pCPU.
Toy around with the settings in a VM, but leave hyperthreading ON (ESX host) and only use hyperthreading sparingly, (not for every VM you create).
NOTE: In the ESX world, logical and physical CPU's are treated in logical order, in the Hardware world (physical machines) they are enumerate as Physical FIRST \*THEN* Logical. So in your case, 0, 2 are the physical CPU, and 1 and 3 are logical. On a machine installed bare metal with windows you will note that 0,1 are the Physical CPU and 2,3 are logical. This is important because if you are used to setting affinity for a process, the VM will behave differently because the CPU's you are using are NOT going to be in the same order. Just be aware of this.