1

Я пытался установить свою первую виртуальную машину с KVM и QEMU, но она, похоже, использует аппаратное ускорение, как и предполагалось. Я пришел к такому выводу, во-первых, потому что он очень медленный, а во-вторых, из-за выхода

$lsmod | grep kvm
kvm_intel        180224 0
kvm              708698 1 kvm_intel
irqbypass         13284 1 kvm

когда машина работает, значение kvm_intel должно быть 1, правильно?

Мой хост-компьютер - Dell XPS 13 под управлением Arch Linux (недавно обновленный, конечно). Гостевой системой является также Arch. Оба 64 битные.

Я проверил все, что нашел на https://wiki.archlinux.org/index.php/KVM, и пришел к выводу, что мое оборудование поддерживает виртуализацию:

$'LC_ALL=C lscpu | grep Virtualization
Virtualization:      VT-x

и что модули ядра включены и загружены:

$zgrep CONFIG_KVM /proc/config.gz
CONFIG_KVM_GUEST=y               
# CONFIG_KVM_DEBUG_FS is not set
CONFIG_KVM_MMIO=y
CONFIG_KVM_ASYNC_PF=y
CONFIG_KVM_VFIO=y
CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
CONFIG_KVM_COMPAT=y
CONFIG_KVM=m
CONFIG_KVM_INTEL=m
CONFIG_KVM_AMD=m
CONFIG_KVM_AMD_SEV=y
CONFIG_KVM_MMU_AUDIT=y

То же самое для virtio

$zgrep VIRTIO /proc/config.gz
CONFIG_BLK_MQ_VIRTIO=y
CONFIG_VIRTIO_VSOCKETS=m
CONFIG_VIRTIO_VSOCKETS_COMMON=m
CONFIG_NET_9P_VIRTIO=m
CONFIG_VIRTIO_BLK=m
# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_SCSI_VIRTIO=m
CONFIG_VIRTIO_NET=m
CONFIG_CAIF_VIRTIO=m
CONFIG_VIRTIO_CONSOLE=m
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_DRM_VIRTIO_GPU=m
CONFIG_VIRTIO=m
CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_PCI=m
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_INPUT=m
CONFIG_VIRTIO_MMIO=m
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
CONFIG_RPMSG_VIRTIO=m
CONFIG_CRYPTO_DEV_VIRTIO=m

проверьте, загружен ли он (см. top для kvm):

$lsmod | grep virtio
virtio        16384  0

Опять же, virtio, кажется, не используется. Я правильно интерпретирую это?

Я также проверил, что поддержка виртуализации включена в BIOS (последняя версия A15, предоставленная Dell в феврале этого года), что было все время.

Пользователь входит в группу kvm (чего не было при установке виртуальной машины, может ли это быть проблемой?)

Страница, которую я нашел https://warpedtimes.wordpress.com/2010/01/06/hardware-accelerated-virtualization-with-qemu-and-kvm/, воодушевила меня на мысль, что что-то не так, но ничего из предложенного проблемы применяются. Я также не получаю сообщение об ошибке от QEMU и не вижу ничего kvm или virtio, связанных в dmesg.

Сеть работает нормально, разрешение похоже на VGA, но я еще не исследовал это. Так что это может быть предметом конфигурации.

Файл диска сырой, и я запускаю виртуальную машину с параметром -m 1024. Режим загрузки является устаревшим (я не мог понять, как заставить загрузку KVM в режиме UEFI).

У кого-нибудь есть идея в чем моя проблема? Есть ли другой способ проверить, действительно ли работает аппаратное ускорение? Но это действительно очень медленно. Запуск и бег. Моя Windows в Virtualbox работает намного быстрее. Может ли быть другая проблема?

У кого-нибудь есть идея в чем моя проблема? Я разместил всю информацию, которая, по моему мнению, может быть интересной. Вам нужна дополнительная информация?

Заранее большое спасибо

1 ответ1

0

Я действительно долго искал ответ в Интернете, но не нашел решения. Как это часто бывает: однажды спросив, вы быстро найдете решение:

При запуске машины мне пришлось явно указать QEMU использовать KVM, добавив опцию

-machine type=pc,accel=kvm

теперь я получаю гораздо более быструю виртуальную машину и

$lsmod | grep kvm            
kvm_intel             180224  3
kvm                   708608  1 kvm_intel
irqbypass              16384  1 kvm

Однако virtio по-прежнему 0

Я все еще не понимаю, почему это необходимо, потому что все, что я до сих пор читал, подразумевает или явно говорит о том, что qemu пытается использовать kvm по умолчанию (и выдает ошибку при сбое). Так что, если кто-нибудь знает, почему это не так для меня, я все равно буду благодарен.

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