Remember that VMware is handling the management of physical resources. In your example if you have 2 sockets with 4 cores VMware will list it as 8 processors available. That doesn't mean if you assign 2vCPUs to a VM that you only have 6 left and then you 'run out'.
VMware is providing slices of time on the physical hardware for all of your VM's to run on.
As best practice we always start off our VM's with the least amount of resources and only increase the vCPUs and/or memory if needed. If you are running Windows 2008 or higher it has no trouble adjusting to the CPU/Memory changes. That way you are not assigning more resources that is actually needed. Many physical servers have way more resources than they need to begin with and replicating that in a VM environment is wasteful in my opinion.