web-dev-qa-db-ja.com

Hyper-VホストシステムのCPUは、VMがフルスロットルであるにもかかわらず、アイドリングしているだけです

Windows 2008 64ビットHyper-Vを実行しているサーバーがあり、8ギガのRAMおよびIntelXeon X3440 @ 2.53 Ghzで、ホストのパフォーマンスモニターに8つの論理コアがあります。システム。

3つの仮想マシンをセットアップしました。すべてWindows200832ビットを実行しています。

  1. チームシティを実行しているサーバーを構築する
  2. ステージングサーバー
  3. SQL Server2005を実行しているSQLServer

これらの3台のマシンは非常に低速で実行されており、ホストシステムがCPUをほとんど使用していない場合でも、100%cpuであり、通常は合計で10%未満です。

CPUを割り当てるための最適なセットアップについて、誰かがヒントを教えてください。各サーバーに2つのコアを設定する必要がありますか、それともこの数をホスト上のコアの総数よりも増やす必要がありますか?

仮想マシンの予約と仮想マシンの制限に設定するのに適した数値はいくつですか?

8ギガの物理RAM 3つのVMには不十分ですか?

読んでくれてありがとう。 :)

6
Bjørn

ビョルン、あなたは問題ではない何かについて心配しています。あなたの場合、ハイパーバイザーと4つの仮想マシンがあります。それらの仮想マシンの1つ(管理OS)には、ハイパーバイザーが付属しています。次に、3台の仮想マシンをインストールしました。

CPU時間を使用して管理OSを表示するかどうかを自問してください。理想的には、セットアップした3つのVMにできるだけ多くのCPU時間を残しておく必要があります。

これは、すべてのVMに「VM統合コンポーネント」がインストールされていることを前提として、Hyper-Vが行うこととまったく同じです。これらのコンポーネントは、VM用のドライバーをインストールすることにより、I/Oをはるかに効率的にします。次に、VMが特にI/Oを多用しない限り、管理OSはそこに座って、VMとの対話を待機し、できるだけ少ないリソースを使用しようとします。これは良いことです。

管理OSではなくハイパーバイザーからの実際のCPUメトリックを確認する場合は、管理OSでパフォーマンスモニターを使用して、Hyper-Vカウンターを探します。これらは、物理的なCPU使用率について教えてくれます。

Doug Luxem(これについてよく知っているようです)は、今日の別のスレッドでこれによく答えました。だから私は彼のテキストを盗むだけです:

まず、Hyper-Vでは、「ホスト」は親パーティションと呼ばれ、特別なアクセス許可とロールを持つ仮想化されたゲストとまったく同じであることを覚えておく必要があります。他の子/ゲストと同様に、タスクマネージャーを開くと、サーバー上の他の子のCPU使用率を確認できません。

ベンアームストロングはここでこれについての良い説明をしています: http://blogs.msdn.com/virtual_pc_guy/archive/2008/02/28/hyper-v-virtual-machine-cpu-usage-and-task- manager.aspx

最後に、VMでのRAM使用量を確認します。ディスクキューの長さを確認します。これにより、より多くのRAMが必要かどうかがわかります。ただし、VMには合計CPUよりも多くのCPUが必要なようです。ホストは与える必要があります。

4
Jake Oshins

これがどのように機能したかを100%思い出せませんが、以下を調べてください

Hyper-V OS(必要に応じてホストOS)は単なるシェルであり、perfmonではなく、これらのカウンターを適切に表示しないと思います。また、VMではなく、ホストOS自体が使用しているものだけが表示される可能性もあります。

Hyper-Vを使用してからしばらく経ちましたが、これが現在のベースラインだったと思います。

幸運を

2
HannesFostie

わかりました、これまでに行ったこと:

各サーバーに割り当てられたメモリ:2300、2300、および2000メガバイト。これにより、ホストと各VMにわずかな空きメモリが残ります。

各サーバーに4つの仮想プロセッサ。いつでも、そのほとんど2つのサーバーが機能しており、SQLサーバーはビルドサーバーまたはステージングサーバーのいずれかと一緒に機能します。つまり、おそらくほとんどの場合、8つの仮想プロセッサが一度にビジーになり、最後の4つはそれほど多くのことをしません。

すべてのVMで仮想マシン予約が0に設定されています。すべてのVMで仮想マシンの制限が100%に設定されています。

CPUをビジー状態にするための必死の試みとして、VMのワーカープロセスをホスト上のリアルタイム優先度に設定しました。

ホストでのCPUの読み取り値はまだ非常に低いですが、VMでの読み取り値はそれほど強くなく、応答性が高いように見えます。

1
Bjørn

This は、Hyper-VとCPU使用率に関する短くて良い投稿です。説明は記事にお任せします。

さらに、VMから最適なパフォーマンスを引き出すためのベストプラクティスは、論理コアと物理コアのマッピングが1:1であることを確認することです。したがって、3つのVMと8つのコアがある場合、すべてのVMで2つの論理CPUを実行し、ハイパーバイザー/ホスト用に2つを残すことができます。

一般に、論理番号を物理番号よりも大きくすることはお勧めできません。

パフォーマンスを高速化するもう1つの方法は、静的VHDをセットアップするか、ディスクを通過させることです。

8GBのRAMは、ほとんどのVMの3つには十分すぎるはずですが、それはすべて、実行中のアプリケーションと、それらが最適に動作する量によって異なります。それぞれのドキュメントを確認してください。

お役に立てれば。

0
Gomibushi