Hyper-Vプロセッサの制限


14

最近、Hyper-V 2008 R2ベアメタルを実行しているサーバーを購入しました。サーバーには、ハイパースレッディングを備えた2つのクアッドコアIntel Xeonプロセッサが搭載されています。したがって、正しく理解していれば、16コアになります。Hyper-V内で、4つの仮想プロセッサを備えたWindows Server 2008 R2を実行する仮想マシンを作成しました。プロセッサの設定画面から、これはシステム全体の処理能力の25%を表していることがわかります。これは、残りの75%を仮想OSが利用できないことを意味しますか?他のいくつかの仮想マシンを実行しますが、これはSQL Server用であり、可能な限り多くの馬力を投入したいと考えています。


5
マシンへのvCPUの割り当てには非常に注意する必要があります。つまり、仮想マシンは、4つの物理プロセッサーが同時に使用可能になるまで待機してから実行する必要があります。こちらをご覧ください
ホロクリプティック

6
ハイパースレッディングに関する限り、この優れた入門書をご覧ください。arstechnica.com
old

4
Holocryptic、あなたの声明は古いVMWareシステムに当てはまりましたが、Hyper-Vには決して当てはまりませんでした。Hyper-Vは、仮想プロセッサを「ギャングスケジュール」しません。
ジェイクオーシンズ

回答:


15

vCPUは、単一の物理CPUにのみマップできます。4つの物理CPUを使用して、4倍高速な単一のvCPUを作成することはできません。仕組みではありません。

Hyper-Vは、4つのvCPUをVMに割り当てることに制限されています(最後にチェックしました)。あなたは大きなCPUパワーが必要な場合は、物理的に行く、何かに仮想化のオーバーヘッドを追加することには意味がないという最初の場所でCPUが集中的かつ並列に。

また、Holocrypticが指摘しているように、4つのvCPUをVMに割り当てると、Hyper-Vがそれらを実行するために4つの物理CPUコアを獲得するまで、そのVMは実行できません。構成によっては、これが大きな障害になる可能性があります(たとえば、4つのvCPU VMが多数ある6コアマシンの場合、一度に実行されるのは1つだけであり、他の2つのコアは常に本質的に使用されません)。Jake Oshinsによると、これはHyper-Vのどのバージョンにも当てはまりませんでした。彼は、Hyper-VはCPUにギャングスケジューリングを使用しないと述べています。他のほぼすべてのハイパーバイザーが行うように。したがって、1つの物理CPUコアが使用可能な場合、Hyper-Vはそれを使用してマルチCPU VMを実行できます。(また、Hyper-Vは、NUMAパーティショニングのために、その時点で利用可能なすべての物理コアを使用しない場合があります)

サイドノート:SQLは、最初に投げることができるすべてのコアを必ずしも使用するとは限りません。それは本当に何のためにそれを使用しているか、そして負荷がどれだけ並列化可能であるかに依存します。


私は同意しますが、仮想CPUのオーバーヘッドはほとんどなく、めったに影響しません。
ネイト

4
クリス、ホロクリプティックのメモは単に間違っています。Hyper-Vは、4 VP VMから仮想プロセッサをスケジュールする前に、4つの仮想CPUが解放されるまで待機しません。Hyper-Vは、実行可能な物理プロセッサがある場合は常に仮想プロセッサをスケジュールしますが、いくつか注意事項があります。たとえば、他のVMと同じ物理NUMAノード内で物理プロセッサを探します。
ジェイクオーシンズ

3

うん、クリスが言ったこと。Hyper-V仮想マシンで4つ以上のCPUが必要な場合は、仮想で2つのSQLサーバーを作成してデータベースを分散するか、物理的に移行します。SQLサーバーライセンスに応じて、より多くのライセンスコストを発生させることなく、仮想(同じ物理ホスト上)にSQLサーバーを追加できる場合がありますが、詳細についてはSQL仮想ライセンスホワイトペーパーを参照してください。

また、4つの仮想CPUでCPUパワーを使い果たしているSQLがある場合、アプリの深刻な使用率があるか、SQLコマンドが不適切に記述されていることに同意します。


1
Re:「...またはSQLコマンドの記述が不適切です。」これは、ベンダー提供のコードが使用されているときはいつでもほぼ保証されます。
スカイホーク

実際、ほとんどのデータベーストラフィックは、ERPシステムからのOLTPのものです。同じベンダーのワークフローシステムもあります。社内で作成されたカスタムスタッフはわずかな割合です。
スコット

古いデータベースは4つの論理コア(2つのデュアルコアCPU)で最大限に実行されているため、それ以上が必要になると予想されています。
スコット

0

約4 CPUコアの制限:

VMの構成ファイルセクション:

[プロセッサ] [count type =” integer”] 16 [/ count]

これで16コアCPUができました。

更新:スクリーンショットが必要なようです

ここに画像の説明を入力してください


0

このガイドに従ってください

http://surminski.eu/2012/04/17/hyper-v-how-to-add-more-than-4-cores-to-a-virtual-machine/

vm xml構成ファイルは、VMのVHDディレクトリの「Virtual Machines」ディレクトリの下にあります。構成ファイルは、VMのIDの下に名前が付けられます。以下のリンクは参照です。

参照: VM xml構成ファイル

管理者権限でnotepad / notepad ++を開いてVM xml構成ファイルを編集してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.