No.69


【VirtualBox】仮想マシンが遅いなと思ったら

仮想マシンの仮想化支援機能が有効になっているか確認しよう

 VirtualBoxはいろいろと連携するツールが作成されていて便利ではあるが、とにかく動作がもっさりしている。

 いろいろなサイトのベンチマーク結果や自分自身の経験からいって、おそらく原因はIO周りの設計にあるのだと思う。試しにファイル入出力を行う処理を10個起動するようにしただけでハングアップ寸前になったし。

 根本的な解決方法は今のところ無いのだけど、基本として

  • Windowsでは共有ドライブを使わない

 というのがある。これはかなり効果的だ。

 さらに、VirtualBoxバージョン5以降では仮想化支援機能が使えるようになっている。これを利用するとかなりディスクIOが減少した。メモリキャッシュが効果的に働いているのだろうか。

 なにはともあれ、効果的ならば積極的に利用したい。残念ながらこの機能はデフォルトではONになっていないので自分で設定する必要がある。

  1. VirtualBoxを起動して、仮想マシンを右クリックしてメニューを開く。
  2. 「設定>システム>アクセラレーション」の順に進む。
  3. 「準仮想化インターフェース」を「KVM」もしくは「Hyper-V」に変更する。
  4. 「仮想化支援機能」を全部チェックする。(これはデフォルトでチェックされている)

 準仮想化インターフェースの種類はよく「LinuxならKVM」「WindowsならHyper-V」と聞く。だが、これはそれぞれの基盤を提供しているOSとあわしているだけで、確固たる理由は無いようだ。

Kernel-based Virtual Machine (KVM)

Hyper-V