Proxmox上のWindows VMで性能測定
NucBox M5にProxmoxのインストールが終わったので、次はWindows 11 ProのVMを立てて性能測定をしてみます。
ProxmoxにWindowsのVMを作る
こちらがとても参考になりました。
注意すべき点
WindowsのISO以外にVirtIOのISOもダウンロードしてVMにマウントする
VMwareでは不要な操作なので忘れがち
Windowsのインストール時にVirtIOのドライバもインストールする
SCSI用: D (virtio-win-0.1.262) → vioscsi → w11 → amd64
NWIF用: D (virtio-win-0.1.262) → NetKVM → w11 → amd64
CPU種別はデフォルトではなく「host」を選んだ方がよい
デフォルトの「x86-64-v2-AES」の場合、QEMUのCPUエミュレーションが入るため性能が劣化する (後述)
ホストに積んだCPUをそのまま使うと思われる「host」を選ぶと性能劣化が少ない
Windowsインストール後にQEMU guest agentのインストールも必要
D (virtio-win-0.1.262) → guest-agent → qemu-ga-x86_64
画面解像度について
Proxmoxの場合、VMの画面解像度はVM上で変更できないようです。
これはVMwareなどと比較して面倒…
BIOS上で設定する必要があります。
こちらが参考になりました。
Windowsのライセンス
NucBox M5に付属のWindows 11 ProのライセンスはMicrosoftアカウントに紐付けておいたため、そこからProxmox上のWindows 11 Proに戻して無事にアクティベーションされました。
性能検証
さて無事にWindowsのVMが立ち上がったので性能検証を行います。
ネイティブWindows 11 Pro
前回の振り返りですが、NucBox M5で直接動くWindows 11 ProのGeekbench 6のスコアは下記の通りでした。
Ryzen 7 5700U (8-Core, 16-Thread)
16GB RAM
Windows 11 Pro VM on Proxmox
ではProxmoxのVMと比較します。VMのスペックは下記の通りに設定しました。
Ryzen 7 5700U (16-Core)
8GB RAM
ネイティブWindowsと比較すると3〜4%ほど劣化していることが分かります。
VMのオーバーヘッドを含むことを考えればかなり優秀なのではないでしょうか。
VM上のスコアはもう少し劣る予想でした。
なお、ネイティブWindows上では8-Core, 16-Threadで認識されるわけですが、VM上ではHyper Threadingかどうかは分からないはずなので、VM的には16 CPUで設定しました。
VMのCPUの違いによる差
実は最初にVMを作ったときにCPUはデフォルトの「x86-64-v2-AES」にしていました。その状態でGeekbench 6を実行したところ、下記のようにシングルコア性能が722という結果でした。ネイティブWindowsの半分しか出ていません!
x86-64-v2-AES, 4-Core, 8GB
こんなに劣化するのかとがっかりしたのですが、VMの設定をよく見てみるとCPUの種類に「host」があることに気づきました。hostに変更して再度Geekbench 6を実行した結果は下記の通りでした。
host, 4-Core, 8GB
ネイティブに近い結果が得られました!(VMのCPUは4-Coreに設定している点は注意です)
消費電力
前回同様にSwitchBotプラグミニで消費電力を計測します。
Proxmox上にWindows 11のVMを立てた際のアイドル時の電力は下記の通りでした。
7.3〜7.9Wといったところですが、ときどき10Wや20Wになることがありました。
やはりWindows Updateの確認など裏でプロセスが動いていそうです。
前回のネイティブWindowsの場合の測定結果は5.7Wほどでした。
Proxmoxの仮想基盤を挟んでいる分だけ消費電力が増えてしまうのは仕方なさそうです。それでもまだ10Wは切っているので十分に省エネと言えそうですね。
次回からはコンテナ環境を検証していきます。