Протестировано, результат показывает, что гость НЕ может получить больше ЦП, чем ему требуется, даже если планировщик Linux сохраняет работу.
Я провел несколько простых экспериментов, используя микро-тест, который в основном вращает процессор. Хост - двухъядерный компьютер, на котором работает KVM с одним гостевым виртуальным компьютером.
Я запускаю несколько приложений-бенчмарков в гостевой виртуальной машине одновременно, чтобы посмотреть, сможет ли оно получить больше ресурсов процессора, чем заслуживает. Результат выглядит следующим образом:
Когда vm настроен с 1 виртуальным процессором, sar сообщает о ~ 100% загрузки ЦП в виртуальной машине и ~ 50% в хосте. Верхняя команда в хосте показывает 2 потока KVM.
Когда vm настроен с двумя виртуальными процессорами, sar сообщает о ~ 100% загрузки ЦП в виртуальной машине и ~ 100% в хосте. Верхняя команда в хосте показывает 3 потока KVM.
Таким образом, моя теория заключается в том, что KVM назначит отдельный поток для каждого виртуального ЦП, и дополнительный поток используется для некоторых действий управления. Таким образом, виртуальная машина с одним виртуальным процессором не может обслуживаться одновременно несколькими процессорами хоста.
Получается глупый вопрос :)