クライアントシステムの Hyper-V のハイパーバイザースケジューラとして「ルートスケジューラ」のみサポートされます。
クライアント システムでのルート スケジューラの使用
Hyper-V Hypervisor のさまざまな種類のスケジューラを理解して使用する | Microsoft Learn
Windows 10 バージョン1803以降、クライアント システムではルート スケジューラが既定で使用されます。クライアント システムでは、ハイパーバイザーを有効にすると、仮想化ベースのセキュリティと WDAG ワークロードの分離がサポートされ、異種のコア アーキテクチャを使用する今後のシステムを適切に運用できます。 これは、クライアント システムでサポートされる唯一のハイパーバイザー スケジューラの構成です。 管理者は Windows 10 クライアント システムで既定のハイパーバイザー スケジューラの種類を上書きすべきではありません。
ですが、クライアントシステムでも Hyper-V のハイパーバイザースケジューラの設定をすることは可能です。設定方法を引用します。
To select a scheduler type, open a command prompt with administrator privileges:
bcdedit /set hypervisorschedulertype typeWhere type is one of:
Classic
Core
RootThe system must be rebooted for any changes to the hypervisor scheduler type to take effect.
Understanding and using Hyper-V hypervisor scheduler types | Microsoft Learn
ハイパーバイザースケジューラの設定変更を以下の環境で試しました。
プロセッサ | AMD A10-5800K |
---|---|
OS | Windows 10 Pro バージョン 21H2 |
ハイパーバイザースケジューラとして「従来のスケジューラ」を設定します。
PS > bcdedit /set hypervisorschedulertype Classic この操作を正しく終了しました。
再起動後、現在のハイパーバイザースケジューラの種類判定を行います。
PS > Get-WinEvent -FilterHashTable @{ProviderName="Microsoft-Windows-Hyper-V-Hypervisor"; ID=2} -MaxEvents 1 ProviderName: Microsoft-Windows-Hyper-V-Hypervisor TimeCreated Id LevelDisplayName Message ----------- -- ---------------- ------- 2022/11/17 20:23:13 2 情報 Hypervisor scheduler type is 0x1.
ハイパーバイザー起動イベント ID 2 は、次のとおりのハイパーバイザー スケジューラの種類の情報を提供します。
Hyper-V Hypervisor のさまざまな種類のスケジューラを理解して使用する | Microsoft Learn
- 1 = 従来のスケジューラ、SMT は無効化
- 2 = 従来のスケジューラ
- 3 = コア スケジューラ
- 4 = ルート スケジューラ
「従来のスケジューラ、SMT は無効化」が選択されたことを確認できました。
なお、今回の環境だと「コア スケジューラ」を設定しても「従来のスケジューラ、SMT は無効化」が選択されてしまいました。
マニュアルには以下の記載があります。
ハイパーバイザーのコア スケジューラは、Windows Server 2016 および Windows 10 バージョン1607 で導入された従来のスケジューラ ロジックに代わる新しい手段です。
Hyper-V Hypervisor のさまざまな種類のスケジューラを理解して使用する | Microsoft Learn
よって、Windows 10 だから利用できないというわけではなさそうです。
マニュアルには以下の記載もありました。
ホストの SMT が無効になっているコア スケジューラの動作
Hyper-V Hypervisor のさまざまな種類のスケジューラを理解して使用する | Microsoft Learn
ハイパーバイザーがコア スケジューラの種類を使用するように構成されているにもかかわらず、SMT 機能が無効になっているか、仮想化ホスト上に存在しない場合、ハイパーバイザーは、ハイパーバイザー スケジューラの種類の設定に関係なく、従来のスケジューラの動作を使用します。
今回利用した環境のプロセッサ AMD A10-5800K は 4 コアで構成され、かつ SMT は無効(サポートしていない)ようです。このために「コア スケジューラ」を選択しても「従来のスケジューラ、SMT は無効化」が選択されたようです。
今回の環境で試した設定と実際のスケジューラ動作を一覧にします。
設定 | スケジューラ |
---|---|
Classic | 従来のスケジューラ、SMT は無効化 |
Core | 従来のスケジューラ、SMT は無効化 |
Root | ルート スケジューラ |
このように、クライアントシステムでもハイパーバイザースケジューラの設定をすることは可能です。ただし、「ルートスケジューラ」のみ公式にサポートされる構成であることに注意が必要です。