VMwareとParallelsの比較
MacでVM使いたい場合に VMware Fusion 7.0 と Parallels Desktop 10 でどちらが良いか調査しました。
経緯および背景
もともとLinux で VirtualBox を使用しておりMacでも同じように使おうとしたところ USB が使用できなかったため*1、有償ソフトウェアの導入が必要と判断。
VMの主な利用目的および背景
- 開発環境として使う。(Macに近い使い勝手が望ましい)
- 検証環境として使う。(より素の状態に近い方が望ましい)
- 基本的にはゲストOSをフルスクリーンにした状態で使う。UnityやCoherenceモードはあまり使わないと思う。
- Ubuntu + VirtualBox環境からの移行。VMware は昔使ってたことあるので少しは分かる。
- よく使うアプリはWebブラウザ、VisualStudio、MS Office、Remmina、Vimあたりかな。
- ファイル操作はLinuxコマンドラインでやるときもある。全く苦にならない。(ファイル共有機能などが無くてもなんとでもする)
- ホストは MacBook Pro 13インチ Retinaモデル。メモリ 8GB、SSD 256GB、Yosemite。
以下、それぞれ無料評価版を2日ほど試用してみた結果、感じたことや特徴などを書き出してみる。
Parallels Desktop 10
- UIがカッコいい。スマホチックというか視覚的で今風なデザイン。
- 価格は Amazon で 6,627円(1台ライセンス)。無料評価期間は15日。
- Windowsゲストの場合、共有機能や連携機能が手厚い。(後述)
- Mac、Windows間のシームレスな統合を目指している感じ。
- Linuxゲストの場合、デフォルトではコマンドキー単発押下がゲストOSに伝達されなかった。*2
Windowsゲストとの共有・連携機能について
ParallesでWindowsゲストを作成すると、ゲストOSツールをインストールするところまでウイザードでやってくれて、以下の様な連携機能がデフォルトで有効になります。
- アプリケーションショートカットがMac,Windows双方に作成され、OSをまたいでアプリケーションを起動できるようになります。具体的には、Mac側ではDockにアプリケーションフォルダが新規追加され、Windows側のスタートメニューの内容が自動展開されます。Windows側にはスタートメニューに項目が追加され、Macのアプリケーションフォルダの内容が自動展開されます。
- MacのステータスバーにWindowsの通知領域が表示されるようになります。
- ショートカットキーが自動変換されます。例えば Cmd+C, Cmd+V などが Ctrl+C, Cmd+V などに変換されてゲストOSに伝達されます。
- ファイル共有についてもホームディレクトリ、外部ストレージ、クラウド・ストレージなどが自動的に共有されます。
こられは設定画面にて個別にOn/Offすることが出来るので、余計な連携機能が逆に気持ち悪いって人はOffにすればいいと思います。
ただ、Macのホームディレクトリに「Applications (Parallels)」というディレクトリが作成され*3、余計な連携機能をOffにしてもディレクトリは削除されないまま残ります。個人的にはこれはちょっとマイナス評価。
VMware Fusion 7.0
Retinaディスプレイ対応
どちらもRetinaディスプレイに完全対応しており、ゲストOSの設定でRetina対応にするかどうか選択することが可能です。
Retina対応にすると解像度が大きくなり、文字やアイコンがめちゃめちゃ小さくなります。(笑
Windowsゲストの場合は、コントロールパネルで文字サイズを「大(150%)」にすると少しは見やすくなります。
Parallelsの場合はゲストOSツールが頑張ってくれて、自動的に文字サイズを199%*4にしてくれますので、Retina対応しない場合と同じ文字サイズで表示されますが、一部ツールバーなどのアイコンは小さいままだったりして若干の違和感は残ります。それでも十分実用レベルだと思います。
Parallelsでビデオの設定を「Retinaに最適」にした場合
文字はギザギザにならずクッキリで美しいです。ツールバーアイコンなどが小さいままですね。
例えばWeb開発でブラウザごとの表示結果を検証したい、といった用途では、影響が心配されるかも。ブラウザじゃなくてネイティブアプリでも同じですね。検証環境として使うなら考慮が必要でしょう。
パフォーマンス
ゲストOS上での使用感はどちらも十分で、Windows、Linuxともに体感的な差はありませんでした。
Unix Bench の結果を貼っておきます。
(ゲストOSの環境:CPU 1個、メモリ 1024MB、Ubuntu 14.04)
まずは VMware Fusion 7.0
======================================================================== BYTE UNIX Benchmarks (Version 5.1.3) System: ubuntu14: GNU/Linux OS: GNU/Linux -- 3.13.0-34-generic -- #60-Ubuntu SMP Wed Aug 13 15:45:27 UTC 2014 Machine: x86_64 (x86_64) Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8") CPU 0: Intel(R) Core(TM) i5-4278U CPU @ 2.60GHz (5200.1 bogomips) x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET 20:36:48 up 0 min, 2 users, load average: 0.57, 0.17, 0.06; runlevel 2 ------------------------------------------------------------------------ Benchmark Run: 金 10月 31 2014 20:36:48 - 21:04:54 1 CPU in system; running 1 parallel copy of tests Dhrystone 2 using register variables 35624064.0 lps (10.0 s, 7 samples) Double-Precision Whetstone 4461.3 MWIPS (9.7 s, 7 samples) Execl Throughput 2305.1 lps (30.0 s, 2 samples) File Copy 1024 bufsize 2000 maxblocks 590396.2 KBps (30.0 s, 2 samples) File Copy 256 bufsize 500 maxblocks 171464.0 KBps (30.0 s, 2 samples) File Copy 4096 bufsize 8000 maxblocks 1530166.8 KBps (30.0 s, 2 samples) Pipe Throughput 900292.1 lps (10.0 s, 7 samples) Pipe-based Context Switching 233198.9 lps (10.0 s, 7 samples) Process Creation 9612.5 lps (30.0 s, 2 samples) Shell Scripts (1 concurrent) 4313.5 lpm (60.0 s, 2 samples) Shell Scripts (8 concurrent) 406.1 lpm (60.0 s, 2 samples) System Call Overhead 652278.1 lps (10.0 s, 7 samples) System Benchmarks Index Values BASELINE RESULT INDEX Dhrystone 2 using register variables 116700.0 35624064.0 3052.6 Double-Precision Whetstone 55.0 4461.3 811.2 Execl Throughput 43.0 2305.1 536.1 File Copy 1024 bufsize 2000 maxblocks 3960.0 590396.2 1490.9 File Copy 256 bufsize 500 maxblocks 1655.0 171464.0 1036.0 File Copy 4096 bufsize 8000 maxblocks 5800.0 1530166.8 2638.2 Pipe Throughput 12440.0 900292.1 723.7 Pipe-based Context Switching 4000.0 233198.9 583.0 Process Creation 126.0 9612.5 762.9 Shell Scripts (1 concurrent) 42.4 4313.5 1017.3 Shell Scripts (8 concurrent) 6.0 406.1 676.9 System Call Overhead 15000.0 652278.1 434.9 ======== System Benchmarks Index Score 947.2
続いて Parallels Desktop 10
======================================================================== BYTE UNIX Benchmarks (Version 5.1.3) System: ubuntu14: GNU/Linux OS: GNU/Linux -- 3.13.0-34-generic -- #60-Ubuntu SMP Wed Aug 13 15:45:27 UTC 2014 Machine: x86_64 (x86_64) Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8") CPU 0: Intel(R) Core(TM) i5-4278U CPU @ 2.60GHz (5200.0 bogomips) Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET 21:07:34 up 0 min, 2 users, load average: 2.82, 0.79, 0.27; runlevel 2 ------------------------------------------------------------------------ Benchmark Run: 金 10月 31 2014 21:07:34 - 21:35:31 1 CPU in system; running 1 parallel copy of tests Dhrystone 2 using register variables 31147663.9 lps (10.0 s, 7 samples) Double-Precision Whetstone 4019.0 MWIPS (9.5 s, 7 samples) Execl Throughput 2934.5 lps (29.7 s, 2 samples) File Copy 1024 bufsize 2000 maxblocks 516153.5 KBps (30.0 s, 2 samples) File Copy 256 bufsize 500 maxblocks 157044.8 KBps (30.0 s, 2 samples) File Copy 4096 bufsize 8000 maxblocks 1500118.9 KBps (30.0 s, 2 samples) Pipe Throughput 816192.9 lps (10.0 s, 7 samples) Pipe-based Context Switching 214416.3 lps (10.0 s, 7 samples) Process Creation 10081.5 lps (30.0 s, 2 samples) Shell Scripts (1 concurrent) 6550.3 lpm (60.0 s, 2 samples) Shell Scripts (8 concurrent) 816.5 lpm (60.0 s, 2 samples) System Call Overhead 557236.7 lps (10.0 s, 7 samples) System Benchmarks Index Values BASELINE RESULT INDEX Dhrystone 2 using register variables 116700.0 31147663.9 2669.0 Double-Precision Whetstone 55.0 4019.0 730.7 Execl Throughput 43.0 2934.5 682.5 File Copy 1024 bufsize 2000 maxblocks 3960.0 516153.5 1303.4 File Copy 256 bufsize 500 maxblocks 1655.0 157044.8 948.9 File Copy 4096 bufsize 8000 maxblocks 5800.0 1500118.9 2586.4 Pipe Throughput 12440.0 816192.9 656.1 Pipe-based Context Switching 4000.0 214416.3 536.0 Process Creation 126.0 10081.5 800.1 Shell Scripts (1 concurrent) 42.4 6550.3 1544.9 Shell Scripts (8 concurrent) 6.0 816.5 1360.8 System Call Overhead 15000.0 557236.7 371.5 ======== System Benchmarks Index Score 994.5
ファイルコピーはVMwareの方が少し良いようで、Parallelsはシェルスクリプトのスコアが少し良いようですが、ハッキリ入ってほとんど差はないレベルだと思います。
Windowsだとどうかわかりませんが、Parallelsの方が手厚いチューニングをしてるように思うので、ベンチの結果は良いかもしれませんね。実際にWindows 7 ゲストも試しましたが、体感的には全く差は感じませんでした。
余談
Parallels Tools を Linux ゲスト(Ubuntu 14.04)にインストールした場合、その VM をVMwareに移行してくるとGUIログインのあとデスクトップが表示されずにフリーズしてしまう現象がありました。
Ctrl+Alt+F1などは効くので、コンソールログインして Parallels Tools をアンインストール すると、正常にログイン出来るようになりました。