No.69
【VirtualBox】仮想マシンが遅いなと思ったら
仮想マシンの仮想化支援機能が有効になっているか確認しよう
VirtualBoxはいろいろと連携するツールが作成されていて便利ではあるが、とにかく動作がもっさりしている。
いろいろなサイトのベンチマーク結果や自分自身の経験からいって、おそらく原因はIO周りの設計にあるのだと思う。試しにファイル入出力を行う処理を10個起動するようにしただけでハングアップ寸前になったし。
根本的な解決方法は今のところ無いのだけど、基本として
- Windowsでは共有ドライブを使わない
というのがある。これはかなり効果的だ。
さらに、VirtualBoxバージョン5以降では仮想化支援機能が使えるようになっている。これを利用するとかなりディスクIOが減少した。メモリキャッシュが効果的に働いているのだろうか。
なにはともあれ、効果的ならば積極的に利用したい。残念ながらこの機能はデフォルトではONになっていないので自分で設定する必要がある。
- VirtualBoxを起動して、仮想マシンを右クリックしてメニューを開く。
- 「設定>システム>アクセラレーション」の順に進む。
- 「準仮想化インターフェース」を「KVM」もしくは「Hyper-V」に変更する。
- 「仮想化支援機能」を全部チェックする。(これはデフォルトでチェックされている)
準仮想化インターフェースの種類はよく「LinuxならKVM」「WindowsならHyper-V」と聞く。だが、これはそれぞれの基盤を提供しているOSとあわしているだけで、確固たる理由は無いようだ。