web-dev-qa-db-ja.com

KVM / QEMU:ハードウェアアクセラレーションが機能しない

KVMとQEMUを使用して最初の仮想マシンをインストールしようとしましたが、意図したとおりにハードウェアアクセラレーションを使用しているようです。最初は非常に遅いため、次に出力のために結論に達しました。の

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

マシンが実行されているとき、kvm_intelの値は1である必要がありますか?

私のホストマシンは、ArchLinuxを実行しているDellXPS 13です(もちろん最近更新されました)。ゲストシステムも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

ロードされているかどうかを確認します(kvmについては上部を参照):

$lsmod | grep virtio
virtio        16384  0

繰り返しますが、virtioは使用されていないようです。私はこれを正しく解釈していますか?

また、BIOS(今年2月にDellから提供された最近のA15バージョン)で仮想化サポートがオンになっていることも確認しました。

ユーザーはグループkvmに属しています(仮想マシンのインストール時にはそうではありませんでしたが、それが問題になる可能性がありますか?)

私が見つけたページ https://warpedtimes.wordpress.com/2010/01/06/hardware-accelerated-virtualization-with-qemu-and-kvm/ 何かがあるという考えに私を勇気づけました間違っていますが、提案された問題はどれも当てはまりません。また、QEMUからエラーメッセージが表示されず、dmesgに関連するkvmまたはvirtioも表示されません。

ネットワークは正常に動作しており、解像度はVGAのようですが、まだ調査していません。したがって、これは構成の問題である可能性があります。

ディスクファイルは未加工で、VMを-m1024オプションで開始します。ブートモードはレガシーです(uefiモードでkvmをブートする方法がわかりませんでした)。

誰かが私の問題が何であるかについての考えを持っていますか?ハードウェアアクセラレーションが実際に機能しているかどうかを確認する別の方法はありますか?しかし、それは本当に非常に遅いです。起動と実行。 Virtualboxの私のWindowsはずっと速く走ります。別の問題があるのでしょうか?

誰かが私の問題が何であるかについての考えを持っていますか?面白いかもしれないと思った情報をすべて投稿しました。追加情報が必要ですか?

よろしくお願いします

1
Bloch

私は本当にかなりの時間ウェブを検索して答えを探しましたが、解決策は見つかりませんでした。よくあることですが、一度尋ねるとすぐに解決策があります。

マシンを起動するときに、オプションを追加してKVM)を使用するようにQEMUに明示的に指示する必要がありました

-machine type=pc,accel=kvm

今、私ははるかに速くなりますVM and

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

ただし、virtioはまだ0です

これまで読んだことはすべて、qemuがデフォルトでkvmを使用しようとしている(失敗するとエラーをスローする)ことを暗示しているか、明示的に言っているため、なぜこれが必要なのかまだ混乱しています。ですから、なぜこれが私に当てはまらないのかを誰かが知っていれば、私はまだ感謝しています。

0
Bloch