*

Hyper-V 対 VMware Player対決

公開日: : 最終更新日:2014/07/12 Ubuntu, Windows

先日、バーチャルマシン上でプログラムをビルドすると時間がかかってしようがない。ビルドするならやっぱネイティブマシンだよね、と話している人がいました。

その人が使っているのはホスト型の仮想化だったのですが、それを聞いてふと、ハイパーバイザ型の仮想化に変えたらネイティブマシンまで速くなくても、もう少しマシな速度が出ないかなと思いました。

ホスト型とハイパーバイザ型では、ディスクI/O等ハードへのアクセスにホストOSを介さない分、ハイパーバイザ型の方が速いんだとか聞きます。でも確かめたことが無いので断言できないな。

そんなわけで今回は少し比較実験してみました。
手元で手軽に用意できるHyper-V対VMware Player(6.0.2)で。

実験に使うハードは、またも5月の連休中に組み立てたAthlon5350 + AM1H-ITXマシン。マシンパワー的に相応しくない気もしますが、新しいマシンの方が楽しいので
ここでHyper-Vを無効化したと書きましたが、実験のため、Hyper-Vを使うときだけまた有効化しました。ただHyper-Vを有効化していると今度はVMware Playerを起動できなくなるので、VMware Playerを使うときはまた無効化。

また速い/遅いの判定基準ですが、まあ私的に実用上の差を見る意味で、linuxのバニラカーネル3.15.1を素のコンフィグでビルドしたときの時間を測定してみました。

で詳細は飛ばしていきなり結果。

まずHyper-V。

~/work/linux-3.15.1>$ time make -j4
: 
real    84m10.340s
user    271m56.747s
sys     34m3.999s

 

続いてVMware Player。

~/work/linux-3.15.1>$ time make -j4
: 
real    94m50.176s
user    299m46.037s
sys     41m29.439s

 

うーん、まあ確かに10%くらいHyper-Vの方が早いような…。でも僅差。

大量のソースファイルをコンパイルしたので、たぶんディスクI/Oが大量に発生したと思います。ディスクI/Oはハイパーバイザ型の方が有利らしいので、その分Hyper-Vの方が速かったのかも。

ハイパーバイザ型とホスト型の比較にHyper-VとVMware Playerが相応しいかは微妙ですが、少なくとも今回はHyper-V上のVMの方が速いという結果になりました。

しかし絶対値としては、このハード上ではやっぱり両方とも思いきり遅いですね…。

一応CPU使用率を見てる限り、CPUが無駄に遊んでいた等は無いように思うのですが。

am1h-hyperV-perfmon-2

そうなると、今度はネイティブマシンの速度と比べてどうなのか知りたくなります。しかし、あいにくこのPCにはWindowsしかインストールしてません。

一方メインマシンになら入っている(Ubuntu 12.04 Desktop)ので、参考までにCore i5-3550(4core、3.3GHz)のメインマシン上で比較してみました。

まずHyper-V。

 
real    30m38.675s
user    82m40.282s
sys     9m8.921s

 

続いてネイティブ。

 
real    15m34.999s
user    47m57.692s
sys     3m33.793s

 

Hyper-Vの結果も、Athlon5350 + AM1H-ITXマシンに比べれば2.8倍も速いのですが、ネイティブマシンはさらにその倍速い。ディスクI/Oが多いせいか、こんなにも大差がつくとは思いませんでした。あ言い忘れましたが、ここに書いたネイティブマシンとバーチャルマシンは全てSSDではなくHDD上に置いています。

少なくともカーネルのビルドのような仕事には、仮想化使わず素直にネイティブマシンを使った方が、かなりの時間節約になりそうでした。

関連記事

bash

Cygwin上でiperfをビルド

ネットワークの疎通確認に便利なツールiperf。 先日Windows上で使おうと思ったら、見つから

記事を読む

1front_thumb.jpg

限定版が復活してた。ASUS TransBook T100TA

今回は私が愛用している10.1インチWindowsタブレットの使用感です。 いわゆる”2

記事を読む

raised1

OOM Killerの発動を検知したい

今回はプログラムの話。タイトル通り、LinuxのOOM Killerが発動したことを検知したいという

記事を読む

6memflush_thumb.png

Hyper-Vの動的メモリは本当に動的だった!?

前回、無用なトラブルを避けるつもりで無難な選択をした結果、却ってロクでもない目に遭ったようだという話

記事を読む

1enable_hyperV_thumb.png

Windows 8.1上でHyper-Vを試す ~Ubuntuの仮想マシンを作る(1)~

Linuxのカーネルソースをあれこれいじるにあたって、実験用のLinux環境が欲しくなり、新たにUb

記事を読む

22installer

Windows 8.1上でHyper-Vを試す ~Ubuntuの仮想マシンを作る(2)~

前回、空の仮想マシンを作るところまで書きました。 (なんか長かった…)。 続いてUbuntu

記事を読む

36export_thumb.png

Hyper-VでUbuntu 14.04を試す(3)

前回、仮想マシンにUbuntu 14.04をインストールしました。 続いて環境整備。 まずはI

記事を読む

building_ubuntu_kernel

Ubuntuのカーネル再構築

実験用に作ったUbuntu13.10の仮想マシン上で、Linuxカーネルの再構築を試しました。 ま

記事を読む

3delete_thumb.png

Hyper-V 上の Ubuntu で非レガシーなネットワークアダプターを使えた

以前 Hyper-V上にUbuntuの仮想マシンを作りましたが、ネットワークアダプターにはレガシ

記事を読む

25eth0_trouble_thumb.png

E: Internal Error, No file name for libssl1.0.0

Ubuntu 12.04機を(も)使っています。動かなくなると困る一台なので、なかなか更新する勇気が

記事を読む

junctioned_VideoLAN_thumb.png
WindowsタブレットのProgram FilesをSDHCへ逃す

ここ数ヶ月、比較的低価格なWindowsタブレットが相次いで発売されて

raised1
カーネルモジュールのビルド

前回、OOM Killerの発動を検知するテスト用のカーネルモジュール

raised1
OOM Killerの発動を検知したい

今回はプログラムの話。タイトル通り、LinuxのOOM Killerが

1cpu_thumb.jpg
さよならK6-Ⅲ

何か物悲しいタイトルですが、K6-Ⅲ搭載PCを廃棄しました。かつて色ん

25eth0_trouble_thumb.png
E: Internal Error, No file name for libssl1.0.0

Ubuntu 12.04機を(も)使っています。動かなくなると困る一台

→もっと見る

PAGE TOP ↑