「手元にあるCore i3搭載ノートPCで仮想化(Hyper-V)を使いたいけれど、仮想マシン(VM)やその中のWSL2にはCPUコアを何個まで割り当てられるんだろう?」
「スペック的に重くならないかな?」
こんな疑問をお持ちの方に向けて、今回は Intel Core i3-1005G1 を例に、Hyper-VのゲストOSおよびその中のWSL2へ割り当て可能なプロセッサ数と、快適に動かすための推奨設定を分かりやすく解説します!
結論:割り当て可能なコア数とおすすめ設定
まず結論からお伝えします。
| 項目 | 割り当て最大数 | 快適に使うための推奨数 |
| 1. Hyper-V ゲストVM | 4(仮想プロセッサ) | 2(仮想プロセッサ) |
| 2. ゲスト内のWSL2 | ゲストVMに割り当てた数と同じ(最大4) | ゲストVMと同数(例: VMが2なら2) |
最大数としては「4」まで設定可能ですが、実運用では「2」にするのが最もバランスが良くおすすめです。
なぜこのような数字になるのか、理由を詳しく見ていきましょう。
なぜ「最大4」まで割り当てられるのか?
CPUの型番である Intel(R) Core(TM) i3-1005G1 CPU @ 1.20GHz のスペックを確認してみましょう。
-
物理コア数: 2コア
-
スレッド数: 4スレッド(Intel Hyper-Threading対応)
Hyper-Vなどの仮想化ハイパーバイザは、CPUを制御する際に「物理コア数」ではなく、ハイパースレッディングによって認識されている「論理プロセッサ(スレッド)数」を基準にします。
WindowsからはこのCPUが「4つのプロセッサ」として見えているため、Hyper-Vの仮想マシン(VM)に対して最大4つの仮想プロセッサ(vCPU)を割り当てることができます。
1. Hyper-V ゲストVMへの割り当て
最大割り当て数:4
Hyper-Vの設定画面(「仮想プロセッサの数」)では、ホストOSの論理プロセッサ数である「4」まで指定可能です。
推奨設定:2
「最大で4なら、4に設定したほうが速くなるのでは?」と思いがちですが、4コアすべてを割り当てるのは避けましょう。
-
理由: ゲストVMに4プロセッサすべてを割り当てると、元となる親OS(ホストWindows)を動かすためのCPUリソースが不足し、PC全体がカクついたりフリーズしたりする原因になります。
-
ベストなバランス: 「2」に設定しておくことで、ホストOSに2スレッド、ゲストVMに2スレッド分のリソースが分散され、どちらの動作も安定します。
2. ゲストVM内のWSL(WSL2)への割り当て
Hyper-V上のWindows(ゲストOS)の中でさらにWSL2を動かす構成(Nested Virtualization:入れ子状の仮想化)にする場合、WSL2が使用できるコア数はどうなるでしょうか?
基本ルール:ゲストVMに割り当てたリソースが上限
ゲストVMの中のWSL2は、親となる「ゲストVM」に割り当てられたプロセッサ数を上限として動作します。
-
ゲストVMに 2 割り当てている場合 ➔ WSL2が使える最大数は 2
-
ゲストVMに 4 割り当てている場合 ➔ WSL2が使える最大数は 4
WSL2はデフォルトで「親OSが認識しているプロセッサ数を上限まで自動で使用する」仕様になっているため、ゲストVMに割り当てたコア数がそのままWSL2でもフル活用されます。
WSL2のコア数を個別に制限したい場合
もし「ゲストVM内でのLinuxのバックグラウンド処理が重くて、Windows側の操作が重くなる」と感じた場合は、ゲストVM内のユーザーフォルダー(C:\Users\<ユーザー名>\)に .wslconfig ファイルを作成して制限をかけることができます。
.wslconfig の設定例(1コアに制限する場合):
[wsl2]
processors=1
まとめ:Core i3-1005G1でのベスト構成
Core i3-1005G1(2コア/4スレッド)の環境で、Hyper-VとWSL2を快適に運用するための設定まとめです。
-
Hyper-Vの仮想プロセッサ設定:
2に設定する(ホストOSの安定性を保つため)
-
ゲストVM内のWSL2設定: デフォルトのまま(2コア自動割り当て) でOK
(より軽くしたい場合のみ
.wslconfigでprocessors=1に制限)
2コア/4スレッドという限られたリソースではありますが、リソースを半分ずつ分け合う「2コア割り当て」に設定することで、開発作業や検証環境として十分に実用的なスピードで動作させることができますよ!
