Я использую QEMU с KVM в качестве моего гипервизора. Я использую гостевую систему Gentoo на хосте Ubuntu. Гость получает один процессор.
Когда я запускаю работу с интенсивными вычислениями (скажем, пустой цикл), я получаю почти 100% загрузку ЦП как на гостевой, так и на хостовой машине. Однако, когда я играю видео с высоким разрешением (1080p), я вижу, что гость показывает загрузку процессора до 100%, тогда как хост показывает только около 30-40% средней загрузки процессора. Интересно, что может быть причиной этого.
Если бы процесс был связан с диском, то я полагаю, что второй запуск видео улучшил бы соотношение использования процессора между хостами и гостями, так как видео было бы загружено в основную память (видео составляет приблизительно 1 минуту, 40 МБ и гостевой баран составляет 4 гигабайта), но этого не происходит. Тогда что может вызвать эту разницу в использовании процессора?
Я не совсем понимаю, как VLC обрабатывает видео H264. Он сообщает, что сбрасывает кадры, возможно, из-за медленного компьютера. Мое единственное предположение, что, возможно, задействована видеокарта, которую ожидает qemu, и гость не знает об этом ожидании.
У моей хост-машины 12 ядер с 24 гигабайтами оперативной памяти.
РЕДАКТИРОВАТЬ :
Проблема не имела ничего общего с запуском виртуальной машины. Это было потому, что я получал доступ к своей тестовой машине через SSH. Пересылка X11 привела к значительному снижению производительности моего процесса qemu. Возможно, это похоже на замедление нормальной программы, если у нас слишком много операторов printf. Сеть становилась узким местом в моем случае.