1. A method comprising: receiving, by a processor, a request to run a virtual machine on a host cluster comprising a plurality of hosts, at least one of the plurality of hosts comprising a plurality of cores; determining a number of cores to be used by the virtual machine less than a number of the plurality of cores; determining, for one or more hosts of the plurality of hosts, one or more corresponding current processor consumptions; selecting, by the processor, one of the plurality of hosts based on the number of cores to be used by the virtual machine and the corresponding current processor consumptions; and assigning, by the processor, the virtual machine to run on the number of cores of the selected one of the plurality of hosts.