2

Когда я запускаю виртуальную машину с одним виртуальным процессором внутри KVM, возможно ли, что виртуальная машина может получить больше тактов процессора, чем может иметь один целый процессор, если на хосте нет другого виртуального процессора? Другими словами, может ли VM получить больше процессоров, чем имеет? У меня нет предела пропускной способности процессора для моего виртуального компьютера.

Поскольку планировщик Linux (CFS) экономит работу, если я правильно понимаю, планировщик всегда должен быть занят, если есть над чем поработать. В этом случае некоторые темы в моем вм.

Если на самом деле vm может иметь более одного ЦП, обслуживающего его, как vm сообщает об использовании ЦП? > 100% или просто 100%. Какое количество процессоров в /proc /cpuinfo виртуальной машины?

Я думаю, что это интересный вопрос или, может быть, глупый вопрос. Я планирую провести несколько экспериментов, если ответа не будет.

Заранее спасибо. Zhen

1 ответ1

1

Протестировано, результат показывает, что гость НЕ может получить больше ЦП, чем ему требуется, даже если планировщик Linux сохраняет работу.

Я провел несколько простых экспериментов, используя микро-тест, который в основном вращает процессор. Хост - двухъядерный компьютер, на котором работает KVM с одним гостевым виртуальным компьютером.

Я запускаю несколько приложений-бенчмарков в гостевой виртуальной машине одновременно, чтобы посмотреть, сможет ли оно получить больше ресурсов процессора, чем того заслуживает. Результат выглядит следующим образом:

  • Когда vm настроен с 1 виртуальным процессором, sar сообщает о ~ 100% загрузки ЦП в виртуальной машине и ~ 50% в хосте. Верхняя команда в хосте показывает 2 потока KVM.

  • Когда vm настроен с двумя виртуальными процессорами, sar сообщает о ~ 100% загрузки ЦП в виртуальной машине и ~ 100% в хосте. Верхняя команда в хосте показывает 3 потока KVM.

Таким образом, моя теория заключается в том, что KVM назначит отдельный поток для каждого виртуального ЦП, и для некоторых действий управления используется дополнительный поток. Таким образом, виртуальная машина с одним виртуальным процессором не может обслуживаться одновременно несколькими процессорами хоста.

Получается глупый вопрос :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .