[novashare_inline_content]

Hyper-V で仮想マシンを作成した後、論理プロセッサまたは vCPU の数を設定してパフォーマンスを向上させることができます。次に、プロセッサの仕様に基づいてどれだけの数を割り当てることができるか自問するかもしれません。この記事では、Hyper-V VM に割り当てることができる vCPU の数を知る方法について説明します。

✏️注記 :この記事では、論理プロセッサ、仮想プロセッサ、または vCPU などのさまざまな用語が説明されています。それは同じことです。

使用可能な論理プロセッサまたは vCPU の数を特定する

このWikiで述べられているようにでは、ハイパーバイザー ホストで利用可能な物理プロセッサ (CPU) が論理プロセッサ (vCPU) に分割されます。これらは、仮想マシンに割り当てることができる仮想プロセッサです。

Windows では、システムで利用可能な論理プロセッサの数を特定するのは非常に簡単です。タスクマネージャーを開く、タブに移動しますパフォーマンスプロセッサー。ホストにインストールされている CPU の特性と、システムによって識別される論理プロセッサの数がわかります。後者は、割り当て可能な仮想プロセッサの数を示します。

この Windows サーバーでは、16 個の論理プロセッサまたは vCPU が使用可能です

もう 1 つの方法は、CPU のモデル番号を取得し、製造元の Web サイトでその特性を調べることです。

論理プロセッサの数に対応する CPU のスレッド数がわかります。について詳しく知りたい場合は、こちらの記事も読んでいただければ幸いですCPUコア、スレッド、論理プロセッサの違い

Hyper-V VM には最大でいくつの vCPU を割り当てることができますか?

システムで使用可能な仮想 CPU の数がわかったので、Hyper-V 仮想マシンに割り当てることができる vCPU の数をより簡単に決定できるようになります。

実際、上記の例に示されているように、使用可能な論理プロセッサが 16 個ある場合、VM ごとに最大 16 個の仮想プロセッサを割り当てることができます。さらに設定すると、Hyper-V マネージャーは警告を表示し、VM を起動しません。

割り当てられている vCPU が多すぎます。 Hyper-V マネージャーは仮想マシンを初期化できません。

Hyper-V ではどのくらいの割り当てられた vCPU 比率を維持する必要がありますか?

この質問に対する普遍的な答えはありません。これは、ホストと VM の使用状況によって異なります。

とはいえ、ホストに過負荷をかけずに、Hyper-V で適切な vCPU 比率を設定する簡単な方法は、比率 1-1。つまり、VM に割り当てられた論理プロセッサは vCPU を消費します。たとえば、使用可能な論理プロセッサが 16 個あり、そのうちの 4 個を VM に割り当てる場合、割り当てられるのは 12 個残ります。

VM は論理プロセッサを共有できます

ただし、さらに多くの割り当てを行うこともできます。仮想マシンが Hyper-V ホスト上で実行されている場合、仮想マシンは vCPU の使用を予約せず、そのリソースを継続的に消費しません。これらはホストと VM の間で常に交換されます。要件はキューに入れられ、優先度に基づいて処理されます。 VM が vCPU を消費していない場合、リソースは他の仮想マシンで使用できます。

したがって、2 対 1 の関係を定義することは完全に可能です。つまり、16 個の論理 CPU がある場合、32 個の vCPU を割り当てることができ、VM ごとに最大 16 個の論理 CPU を割り当てることができます。それはすべて、VM の使用方法と VM が実行するタスクによって異なります。

Hyper-V では、次のおかげで VM に割り当てられる CPU リソースをより正確に定義できることに注意してください。リソース制御タブで利用可能プロセッサー

次のパラメータを指定できます。

  • 仮想マシンの予約 (割合):vCPU リソースの保証に役立ちます。たとえば、2 つの vCPU と 100% のレートを定義した場合、2 つの vCPU のリソースの可用性が保証されます。
  • 合計システム リソースの割合:VM に割り当てられたホスト上の使用可能な vCPU の合計パーセンテージの計算を表示します。
  • 仮想マシンの制限 (パーセンテージ):割り当てられた vCPU の割合として消費を制限します。デフォルトでは、割り当てられた vCPU を 100% 消費できます。
  • 相対重量:この設定は、CPU リソースをめぐって競合する VM の優先順位を付けたり、優先順位を下げたりするために使用されます。デフォルトでは、重みは 100 です。0 ~ 10,000 の値を設定できます。

Hyper-V 構成によっては、リソース制御がアクティブにならない場合があります。詳細については、次のセクションをお読みください。

Hyper-V ハイパーバイザー スケジューラの種類

プランナーの種類Hyper-V ハイパーバイザーがゲスト仮想プロセッサ間で作業をどのように割り当て、管理するかを決定します。

以下のプランナーが見つかります。

  • 1 = クラシック スケジューラ、SMT は無効
  • 2 = クラシック プランナー:Windows Server 2016 まではデフォルトです。クラシック スケジューラは、ゲスト vCPU にプリエンプティブなラウンドロビン スケジューリング モデルを提供します。
  • 3 = メインプランナーまたはコア:Windows Server 2016 以降、SMT 対応ホストのセキュリティと分離が強化され、パフォーマンスが向上しています。
  • 4 = ルート スケジューラ: Windows 10 バージョン 1803 以降に導入され、管理と展開を最適化するために Windows 10 や Windows 11 などのマシンで Hyper-V を使用することに特化しています。

これらのタイプのスケジューラは、オペレーティング システムに応じてデフォルトで設定されており、ほとんどの場合、変更する必要はありません。

ハイパーバイザー上で実行されているスケジューラーのタイプを確認するには、次のコマンドを使用します。PowerShell ウィンドウ:

Get-WinEvent -FilterHashTable @{ProviderName="Microsoft-Windows-Hyper-V-Hypervisor"; ID=2} -MaxEvents 1
上記の場合、スケジューラ タイプは 3 (Main または Core) です。

Windows 10 または Windows 11 マシンでは、スケジューラはデフォルトで次のようになります。Root。 [プロセッサ] タブのリソース制御にアクセスすることはできません。次のメッセージが表示されます。Hyper-V は CPU リソース制御を許可するように構成されていません« 。

その後、スケジューラのタイプを変更できます。管理者としてのコマンドプロンプト次のステートメントを使用し、スケジューラを次のように変更します。CoreまたはClassic:

C:\Windows\System32\bcdedit.exe /set hypervisorschedulertype Core

ホスト システムのリソースを予約する

Hyper-V VM に vCPU を割り当てる方法を理解したところで、最適な動作を実現するにはホスト上でどれくらいの CPU を残しておけばよいのか疑問に思うかもしれません。実際、後者は適切に動作するために可用性を必要とします。

繰り返しますが、それはすべてホストと VM の使用状況によって異なります。リソースを節約するために、システムで使用できるコアを少なくとも 1 つから開始できます。

Hyper-V の充電を最適化する

リソースの可用性を最適化するには、Microsoft は、良い点をまとめた投稿を公開しました。バックグラウンドアクティビティを減らすなどの実践:

  • ホスト システムをログイン画面のままにしておく
  • デフォルトで実行されるタスクを確認する
  • ホスト上で Hyper-V マネージャーを開いたままにしないでください
  • SuperFetch および WindowsSearch バックグラウンド サービスを無効にする
  • DVD や COM ポートなどの未使用のデバイスを取り外します。

この記事をシェアする

[novashare_inline_content]

あなたも私たちにできます記事のアイデアを提出する検索結果が異なる場合。