Microsoft Hyper-V の監視に関するヒントとツール
ハードウェア仮想化の主な利点には、論理的な分離とリソースの効率的な利用が挙げられます。Microsoft Hyper-V を使用する際は、仮想マシンおよび物理 Hyper-V サーバーによるハードウェアリソースの使用状況を監視することが重要です。仮想マシンに割り当てられたリソースが不足したり過剰になったりすると、その仮想マシンのパフォーマンスが低下したり、他の仮想マシンや環境全体のパフォーマンスに影響を及ぼしたりする可能性があります。このブログ記事では、Hyper-V の監視に関するヒントと、無料で利用できる Hyper-V 標準の監視ツールについて解説します。
Hyper-Vのパフォーマンス監視が必要な理由は?
Hyper-V のリソース監視を使用すると、ボトルネックを特定し、リソースを管理してパフォーマンスを最適化できます。Hyper-V のパフォーマンスを監視することで、リソースに関する統計情報を確認し、現在の Hyper-V ホストへのリソースの追加、VM 上のソフトウェアの再構成、または VM を別の Hyper-V ホストへの移行といった判断を下す際に役立てることができます。なお、Hyper-V ホストの監視において、SNMP (Simple Network Management Protocol) は非推奨となっています。
VM のパフォーマンス低下が検出された場合は、以下の質問を参考にして、考えられる原因を絞り込んでください:
- Hyper-Vホスト上で実行されている仮想マシンには、十分なリソースが割り当てられていますか?
- Hyper-V ホストには、十分な空きハードウェアリソースがありますか?
- パフォーマンスの問題は、1台のVMで発生していますか、それとも複数のVMで発生していますか?
幸いなことに、Hyper-V には、Hyper-V マネージャーの GUI から直接、パフォーマンスやリソース使用状況を監視できる無料のネイティブツールがいくつか用意されています。Hyper-V ホスト間で仮想マシンの移行を自動化したい場合は、 負荷分散クラスター内でも、これを行うための基本的な機能は備わっています。ただし、Hyper-V クラスターを使用する場合、Hyper-V サーバーのリソース使用率を最適化し、負荷分散を行うために、VM を自動的に移行するには、有料ソリューションである SCVMM(System Center Virtual Machine Manager)が必要となる点にご注意ください。また、SCVMM では Hyper-V のレプリケーション監視も行うことができます。
VM内のリソースを監視するためにWindowsタスクマネージャーを使用しないでください
オープニング Task Manager は、Windows を実行している物理コンピュータのパフォーマンスやリソース使用状況を確認するための、迅速かつ簡単な方法です。ただし、仮想マシン(VM)内のパフォーマンスを監視するために Windows タスク マネージャーを使用しないでください。Windows タスク マネージャーでは、仮想マシンによる CPU やメモリの実際の使用状況が表示されません。これは、 Task Manager 仮想マシンであることを識別せず、VMへのリソースの割り当て状況を把握することはできません。使用方法 Task Manager 実行中のプロセス、サービス、およびアプリケーションを監視するためのものであり、VM内部のパフォーマンスを監視するためのものではありません。
Hyper-V ホストでパフォーマンス モニターを使用する
使用 Performance Monitor Hyper-V ホスト上の (perfmon) および、プロセッサ、メモリ、インターフェイス、物理ディスク、その他のハードウェアの使用状況を監視するための適切なカウンター。 perfmon このユーティリティは、Windows システムでのパフォーマンスのトラブルシューティングに広く利用されています。
を実行 perfmon で run ダイアログボックスまたは検索 Performance Monitor ~の中で Computer Management ウィンドウで、必要なカウンターを追加し、グラフィカルユーザーインターフェース(GUI)上で統計情報を監視します。収集された情報は、チャート、グラフ、図表として表示することができます。
また、以下を開いてみると役立つかもしれません Resource Monitor Hyper-V ホスト上で (resmon.exe).
Hyper-V でカウンターを使用する
パフォーマンスモニターは、Hyper-V ホスト上で実行されている仮想マシンについて、誤った情報を表示する場合があります。これは、標準(通常)のカウンターが仮想マシンの監視に適していないためです。Hyper-V を実行している物理コンピュータに 4 コアのプロセッサが搭載されており、その Hyper-V ホスト上に 2 台の仮想マシンが存在すると仮定します。最初の仮想マシンには 4 つの仮想プロセッサが割り当てられています。 4つの仮想プロセッサを100%負荷で使用するアプリケーションが最初のVM上で実行されており、物理Hyper-Vホスト上のすべてのプロセッサリソースを消費しています。
同時に、このHyper-Vホスト上で、同じ仮想デバイス構成を持ち、同じアプリケーションを実行する2番目のVMを起動します。 両方の仮想マシン内部では、各VMのプロセッサ使用率が100%であるという情報が表示されます。しかし、各VM上のアプリケーションの動作速度は、VMが1台のみ実行されていた最初のケースと比較して50%になっています(もし Task Manager または Performance Monitor (仮想マシン内部)。動的メモリが有効になっている場合、メモリに関する情報も同様に表示されます。
Hyper-V ホストのパフォーマンス モニターで Hyper-V 専用のカウンターを使用し、この Hyper-V ホストのリソースを監視します。Hyper-V カウンターは、Hyper-V のパフォーマンス監視において最も正確な情報を表示します。
プロセッサの性能
このカウンターを使用して、Hyper-V ホスト上の物理プロセッサのパフォーマンスを監視します:
Hyper-V Hypervisor Logical Processor% Total Run Time
VMの仮想プロセッサのパフォーマンスを監視するためのカウンター:
Hyper-V Hypervisor Virtual Processor% Guest Run Time
- 実行中のVMにおいて、カウンターの値が75%以下を示している状態が最適なパフォーマンスです。
- 75~85%の範囲の値は、注意を要する状態です。
- 85%を超える場合は、CPU使用率がこれほど高くなっている原因を調査することをお勧めします。
ルート仮想プロセッサの使用率を監視するためのカウンター:
Hyper-V Hypervisor Root Virtual Processor(*)% Total Run Time
メモリ使用率
Hyper-Vの監視やRAM使用量の確認には、複数のカウンターがあります。
MemoryAvailable Mbytes Hyper-V ホスト上のカウンターは、メモリ使用量を監視するために使用されます。
- 空きRAMが10%以上 – 正常
- 空きRAMが10%未満 – 警告
- 空きRAMが100 MB未満 – 重大
次の 使用済みメモリ(バイト) 各VMに割り当てるメモリ量を決定するために、VMが使用するメモリ量を確認するカウンター。
以下のコマンドを使用します。 Hyper-V Dynamic Memory BalancerAverage Pressure 動的メモリを監視するためのカウンタ。
- 80%未満 – 健康
- 80%以上 – 警告
- 100% – 重大
ディスクのレイテンシ
次の LogicalDisk(*)Average Disk SecRead or Write Hyper-V上で動作するVMの全体的なパフォーマンスにとって重要なディスクのレイテンシを監視するためのカウンター。
- ms (0.010 s) – OK
- >15ms(0.015秒) – 警告
- >25 ミリ秒 (0.025 秒) – 重大
ネットワーキング
次の Network Interface (*)OutputQueue Length ネットワーク使用量を監視するためのカウンターであり、具体的には出力パケットキュー内のネットワークパケット数を計測します。
- 平均1未満 – 健康
- 平均が1を超える場合 – 警告
- 平均で2以上 – 重大
以下のカウンターの使用も検討してください:
Network Interface (network adapter name)Bytes/sec
Hyper-V Virtual Network Adapter (virtual machine name )Bytes/sec
仮想マシンに十分なメモリを確保する
各マシンには、正常に動作するために十分なメモリが必要です。そうでない場合、パフォーマンスが低下し、(設定されている場合)スワップファイルが頻繁に使用され、ディスクに過度な負荷がかかります。さらに、スワップファイルはRAMよりも処理速度が遅くなります。オペレーティングシステムとアプリケーションで約12 GBの物理メモリを消費する場合は、コンピュータに16 GBのRAMを搭載してください。VMのメモリ割り当てについても、同様のアプローチを採用してください。 例えば、VM上で動作するソフトウェアが6GBのRAMを消費する場合、そのVMには8GBのRAMを割り当ててください。正常に動作させるためには、少なくとも20%分の追加メモリを確保してください。バッファとして余分なメモリを確保することを推奨します。
イベントビューアーを使用してログを監視する
使用 Event Viewer Hyper-V ホストおよびゲスト VM のログを監視し、トラブルシューティングに役立てます。システム イベントやアプリケーション イベントなどのログを表示・分析することで、問題の原因を特定し、適切な解決策を見出すことができます。 Event Viewer アプリケーションに関連するエラーログを表示し、OSレベルで動作します。開くには Event Viewer、開く必要があります Computer Management まず、
Hyper-Vのログは次の場所にあります:
Event viewer > Applications and services logs > Microsoft > Windows
イベント ビューアーには、次のような Hyper-V ログのカテゴリがあります。
- Hyper-V-Compute
- Hyper-V-Config
- Hyper-V-Guest-Drivers
- Hyper-V Hypervisor
- Hyper-V-StorageVSP
- Hyper-V-VID
- Hyper-V-VMMS
- Hyper-V-VmSwitch
- Hyper-V-Worker
で Computer Management Windows サービスを管理できます。以下の Hyper-V サービスを監視することをお勧めします:
- Hyper-V Image Management Service (vhdsvc)
- Hyper-V Virtual Machine Management (vmms)
- Hyper-V Networking Management Service (nvspwmi)
PowerShell でリソースを監視する
PowerShell を使用して、Hyper-V ホストおよび仮想マシンのリソースを監視できます。これは、GUI を持たない Windows OS を使用している場合に特に役立ちます。PowerShell では、専用のコマンドレットを使用してパフォーマンスを監視します。
Windows イベント ログを操作して、Hyper-V の運用ログを表示します。
Get-WinEvent -LogName Microsoft-Windows-Hyper-V-Hypervisor-Operational | select -First 1 | Format-List *
このコマンドは、Hyper-V ホストまたはゲスト VM 上のパフォーマンス カウンター オブジェクトと連携し、Windows の監視機能を使用して、リモートまたはローカルのマシンから直接データを取得できるようにします。
Get-Counter
カウンターリストを取得し、表示結果を並べ替えます:
Get-Counter -ListSet * |
Sort-Object -Property CounterSetName |
Format-Table CounterSetName, CounterSetType -AutoSize
複数のマシンで稼働しているディスクのパフォーマンス監視:
$DiskReads = "LogicalDisk(C:)Disk Reads/sec"
$DiskReads | Get-Counter -ComputerName Server01, Server02 -MaxSamples 10
PowerShell を使用して、Hyper-V のパフォーマンス監視用のカスタムスクリプトを作成できます。
結論
Hyper-V の監視を行うことで、仮想マシンのパフォーマンスの問題が Hyper-V ホストに起因するものか、ゲスト仮想マシンに起因するものかを特定できます。Hyper-V のパフォーマンス監視により、Hyper-V ホスト上のハードウェアリソースの使用状況を最適化できます。 物理ホストの監視に使用される Windows タスク マネージャーなどの一部のツールは、Hyper-V 上で実行されている仮想マシンのパフォーマンスを監視するには適していません。パフォーマンス モニターには、Hyper-V ホストおよび仮想マシンのリソースを監視するために採用された、Hyper-V 専用のカウンターが含まれています。GUI を使用する場合は Hyper-V マネージャー、イベント ビューアー、リソース モニターを使用でき、コマンド ライン インターフェイスを使用する場合は PowerShell の特別なコマンドを使用できます。
ネイティブツールの機能だけでは不十分な場合は、他のHyper-V監視ソフトウェアの利用を検討してください。監視はHyper-Vのパフォーマンスを最適化するのに役立ちますが、災害発生時のデータ損失を防ぐことはできません。データを保護するために、信頼性の高いHyper-Vバックアップソフトウェアの導入をご検討ください。NAKIVOのFree Editionをダウンロードして、マルチプラットフォーム対応、ランサムウェアからの復旧などの機能をご利用ください。




