web-dev-qa-db-ja.com

QEMUのパフォーマンスは(まだ)VirtualBoxを下回っていますか?ハードウェアサポート+ kvmカーネルモジュールなしでそれを改善する方法はありますか?

QEMUはVirtualBox(ハードウェアアシスタンスなし)よりも遅いと主張している記事に気づきましたが、いくつかは古いものであり、最新のものは昨年のものであるようです。

  • QEMUがVirtualBoxより遅いのは本当ですか?
  • もしそうなら、なぜですか?
  • パフォーマンスのギャップを埋めるためのトリックはありますか?

一部のホストシステムにはハードウェア仮想化サポートがないため、カーネルモジュールなしで機能するパフォーマンスのヒントに特に関心があります。

9
Catskul

X86ホストでのx86仮想化について話している場合、kqemu(qemuの古いアクセラレーションカーネルモジュール)は非推奨になっていることに注意してください。カーネル仮想マシン(KVM)は「進むべき道」ですが、Linuxホストでのみ機能します。ゲストは、x86アーキテクチャであれば、どのOSでもかまいません。

クロスアーキテクチャ、qemuはまだ本当に遅いです。今日だけ私はゲストでDebian MIPS64を使って最新のqemuを試していました...それはターミナルからは使えましたが、Xorgではひどく遅いです。私の知る限りでは、クロスアーキテクチャを使用する場合、拡張ページテーブルやVT-xなどのプロセッサアクセラレーション命令は使用できません。すべてソフトウェアでエミュレートされます。

したがって、x86から​​x86への仮想化では、「生の」qemuは低速ですが、KVM(which ses qemu))は高速です。かなり高速です。RedHatが推奨するほど高速ですRHELの仮想化ソリューション。

Kvmはサーバーの仮想化に焦点を当て、virtualboxはデスクトップの仮想化に焦点を当てているため、VirtualBoxはハードウェアアクセラレーションによる2D/3Dグラフィックスパフォーマンスに関してqemu/kvmが提供できるすべてのものを吹き飛ばします。ただし、サーバーを扱う場合は、kvmをチェックすることをお勧めします。

編集:ハードウェアアクセラレーションがないホストの場合、使用する仮想ソリューションに関係なく、かなり大きなオーバーヘッドに悩まされることになります。ソフトウェアでハードウェアのものをエミュレートすることは難しく、費用がかかります。

10
allquixotic

仮想化対応のCPU(Intel VT-x、AMD SVM)を備え、カーネル(KVMを搭載したLinux)でQemuを実行しているホストを想定すると、かなり高速です。

Qemuが2D(youtube、スプレッドシート、ゲーム)と3Dエミュレーションで遅いという技術的な理由は私にはわかりません。ただし、「ビデオドライバー」だけでは不十分であると推測できます。ハードウェア内のグラフィックハードウェアが最適な方法で使用されていません。

明るい面としては、最近の開発によりSPICEフレームワークがqemuに導入されました。実はそれは数年前のもので、かなり成熟しているようです。 QXLビデオドライバーで実行することによるビデオパフォーマンスの利点は、私の経験(2D Web開発)で非常に大きくなっています。 Virtualboxと比べてどれだけ優れているかはわかりませんが、間違いなく改善です。 SPICEは、QemuでWindowsを実行しているすべての人にとってなくてはならないものだと思います。

これは私の意見であり、ゲストで3Dまたはビデオの再生を実行しようとしたことは一度もないことに注意してください。