開発版のアプリケーションの情報のため、正式リリース時は仕様等が異なる可能性があります。
従来、Hyper-V を有効化すると、VMware が利用できないというのが常識でした。
したがって、Hyper-V だけでなく、それをベースにした、Windows サンドボックス、Docker for Windows、WSL2 も、VMware ユーザーには縁が無いものでした。
ただ、最新のプレビュー版にて、共存が可能になったという情報が得られたので、早速検証してみました。
環境の準備
公式サイトより、下記が必要だと記載されています。
- Windows 10 20H1 from Windows insider program. Minimum build number: 19041
- Intel Haswell or newer CPU
- AMD Bulldozer or newer CPU
今回は、Skylake の環境で、Windows 10 Insider Preview の環境を用意してテストしました。
サポートされていないですが、Sandy Bridge 環境にもインストールし起動はするところまでは確認しました。
VM の起動
従来のバージョンで使用していた仮想マシンをそのまま持ってきて起動すると、このようなエラーが。
仮想マシンの設定の CPU の「Intel VT-x/EPT または AMD-V/RVI を仮想化」のチェックを外すと起動できました。
VM 内で Nested していた方は注意が必要かもしれません。
パフォーマンスの検証
今度こそと、VM を起動すると、下記のようなメッセージが。
その後無事起動しましたが、Hyper-V 上で動いているという挙動のようです。
そこで、UnixBench でベンチマークを取ってみました。
比較条件
ゲスト
- CentOS 8.1 (Kernel 4.18.0-147.5.1)
- UnixBench 5.1.3
- CPU:1Core
- メモリ:1GB
ホスト
- CPU:Intel(R) Core(TM) i5-6400 CPU @ 2.70GHz
- VM イメージ保存 SSD:ADATA SU750 1TB
- Windows 10 Insider Preview 2004 (19041.153)
- VMware Workstation Tech Preview ★今回の環境
- Hyper-V
- Windows 10 1909 (18363.720)
- VMware Workstation 15.5.2
安定版とのパフォーマンスを比較しました。
比較結果
Windows 10 | Insider 2004 | 1909 | |
---|---|---|---|
ハイパーバイザー | VMWare | Hyper-V | VMWare |
Dhrystone 2 using register variables | 3106.0 | 3281.5 | 3240.7 |
Double-Precision Whetstone | 1115.1 | 1101.3 | 1097.8 |
Execl Throughput | 227.2 | 1051.8 | 976.7 |
File Copy 1024 bufsize 2000 maxblocks | 1496.6 | 1520.6 | 1877.5 |
File Copy 256 bufsize 500 maxblocks | 973.9 | 971.4 | 1243.3 |
File Copy 4096 bufsize 8000 maxblocks | 3131.3 | 3236.8 | 3530.0 |
Pipe Throughput | 622.8 | 642.2 | 832.0 |
Pipe-based Context Switching | 506.9 | 578.8 | 637.9 |
Process Creation | 768.6 | 903.9 | 753.6 |
Shell Scripts (1 concurrent) | 713.6 | 1242.3 | 1239.9 |
Shell Scripts (8 concurrent) | 700.0 | 1178.8 | 1182.6 |
System Call Overhead | 290.0 | 295.3 | 473.9 |
System Benchmarks Index Score | 841.6 | 1084.3 | 1188.7 |
パフォーマンスのランキングは下記となります。
- Hyper-V を使用しない純粋な VMware 環境
- Hyper-V
- Hyper-V 有効化環境の VMware
同一物理環境ではありますが、OS が異なるのでホスト側のドライバの問題もあると思いますが、
高パフォーマンスを実現したい場合、VMware を単独利用を続けるのもよし
WSL2 や Docker for Windows、Windows サンドボックスといった、Hyper-V 必須の機能を利用したい方も、VMware を利用できるのは良い流れと思いました。