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