Раньше это было правдой, но больше не является исключительно правдой.
То, что они имеют в виду, является строгим совместным планированием .
Наиболее важно то, что, хотя в строгом алгоритме совместного планирования существование запаздывающего виртуального процессора приводит к одновременной остановке всей виртуальной машины. В расслабленном алгоритме совместного планирования ведущий vCPU решает, должен ли он самостоятельно останавливаться, основываясь на перекосе с самым медленным одноуровневым vCPU
Теперь, если на хосте только 4 потока, вам было бы глупо распределить их все. Если у него два процессора и 4 потока на процессор, то вам может не потребоваться выделять все содержимое одного процессора, поскольку ваш гипервизор должен попытаться сохранить виртуальные ЦП на одном узле NUMA, чтобы ускорить доступ к памяти, и вы усложнение этой работы путем выделения целого сокета одной виртуальной машине (см. стр. 12 этого PDF-документа выше).
Таким образом, существуют сценарии, в которых меньшее количество виртуальных ЦП может работать лучше, чем большее, но это не соответствует действительности в 100% случаев.
Учитывая все сказанное и сделанное, я очень редко выделяю более 3 виртуальных ЦП на гостя. Каждый получает по умолчанию 2, 3, если это тяжелая рабочая нагрузка, и 4 для таких вещей, как SQL-серверы или виртуальные машины с большой нагрузкой, или терминальный сервер с большим количеством пользователей.