硬體虛擬化的主要優勢包括邏輯隔離和合理利用資源。使用 Microsoft Hyper-V 時,監控虛擬機器和物理 Hyper-V 伺服器的硬體資源使用情況至關重要。給予虛擬機器不足或過量的資源可能導致虛擬機器性能下降,或影響其他虛擬機器和整個環境的性能。本文介紹了 Hyper-V 監控提示和可供免費使用的本機 Hyper-V 監控工具。
為什麼需要 Hyper-V 性能監控?
Hyper-V 資源監控可幫助您檢測瓶頸,並管理資源以優化性能。通過監控 Hyper-V 性能,您可以查看有關資源的統計資料,以幫助您做出如下決策:在當前的 Hyper-V 主機上配置更多資源、重新配置虛擬機器上的軟體,或將虛擬機器遷移到另一個 Hyper-V 主機。請注意,SNMP(簡單網路管理協定)已經被棄用於監控 Hyper-V 主機。
如果檢測到虛擬機器性能低下,請使用以下問題來縮小可能的原因:
- 在運行在 Hyper-V 主機上的虛擬機器分配了足夠的資源嗎?
- 在 Hyper-V 主機上是否有足夠的空閒硬體資源?
- 性能問題是存在於一個虛擬機器還是多個虛擬機器上?
幸運的是,Hyper-V 提供了一些免費的本地工具,可從 Hyper-V 管理員的 GUI 開始監控性能和資源消耗。如果您想要在 Hyper-V 主機之間自動遷移 VM 以進行負載平衡,則集群中基本的功能可以實現此目的。請記住,如果您使用 Hyper-V 集群,則需要 SCVMM(System Center Virtual Machine Manager),這是一個付費解決方案,用於自動遷移 VM 以優化 Hyper-V 伺服器的資源使用情況並執行負載平衡。在 SCVMM 中也可以進行 Hyper-V 複製監控。
不要使用 Windows 任務管理員監控 VM 內部資源
打開任務管理員是在運行 Windows 的物理計算機上查看性能和資源使用情況的快速簡便方法。但是,不要使用 Windows 任務管理員來監控 VM 內部的性能。 Windows 任務管理員不會顯示虛擬機器的 CPU 和內存的實際使用情況。這是因為任務管理員不會將機器識別為虛擬機器,並且無法知道如何為 VM 配置資源。使用任務管理員來監控運行的進程、服務和應用程序,但不要用它來監控 VM 內部的性能。
在 Hyper-V 主機上使用效能監視器
在 Hyper-V 主機上使用效能監視器(perfmon)和適當的計數器來監控處理器、內存、介面、物理磁碟和其他硬件的利用率。 perfmon 實用程序被廣泛用於 Windows 系統的性能故障排除。
在运行对话框中运行perfmon,或在“计算机管理”窗口中找到“性能监视器”,添加所需的计数器,并在图形用户界面(GUI)中监视统计信息。所收集的信息可以显示为图表、图形和图表。
在Hyper-V主机(resmon.exe)上打开资源监视器也可能很有用。
使用 Hyper-V 计数器
性能监视器可能为运行在 Hyper-V 主机上的虚拟机提供不正确的信息,因为标准(常规)计数器未适应虚拟机监视。假设运行 Hyper-V 的物理计算机具有四个核心的处理器,并且有两个虚拟机驻留在 Hyper-V 主机上。为第一个虚拟机提供了四个虚拟处理器。第一个虚拟机上运行一个将四个虚拟处理器加载到 100% 的应用程序,并消耗了物理 Hyper-V 主机上的所有处理器资源。
与此同时,您在此 Hyper-V 主机上启动第二个虚拟机,该虚拟机具有相同配置的虚拟设备,并运行相同的应用程序。在两个虚拟机内部,您会看到每个虚拟机的处理器都以 100% 的负载运行的信息。然而,与仅运行一个虚拟机时相比,每个虚拟机上的应用程序的运行速度只有 50%(如果在虚拟机内部打开任务管理器或性能监视器)。如果启用了动态内存,则关于内存的信息显示类似。
在 Hyper-V 主机上使用性能监视器中的 Hyper-V 特定计数器来监视此 Hyper-V 主机上的资源。Hyper-V 计数器显示了最准确的 Hyper-V 性能监视信息。
處理器性能
使用此計數器監控 Hyper-V 主機上的物理處理器性能:Hyper-V Hypervisor 邏輯處理器% 總運行時間
監控虛擬機器的虛擬處理器性能的計數器:Hyper-V Hypervisor 虛擬處理器% 客戶運行時間
- 當計數器顯示運行中的虛擬機器的值為 75% 或更低時,性能最佳。
- A value in the 75 – 85% range is a warning.
- 對於高於 85% 的值,建議調查高 CPU 使用率的原因。
監控根虛擬處理器利用率的計數器:\Hyper-V Hypervisor 根虛擬處理器(*)\% 總運行時間
記憶體利用率
有多個用於 Hyper-V 監控和檢查使用了多少 RAM 的計數器。
在 Hyper-V 主機上使用 MemoryAvailable Mbytes 計數器來監控記憶體使用情況。
- 超過 10% 的空閒 RAM – 健康
- 低於 10% 的空閒 RAM – 警告
- 低於 100 MB 的空閒 RAM – 關鍵
使用 MemoryCommitted Bytes 計數器來檢查虛擬機器使用了多少記憶體,以定義應為每個虛擬機器分配多少記憶體。
使用 \Hyper-V Dynamic Memory Balancer\Average Pressure 計數器來監控動態記憶體。
- 低於 80% – 健康
- 超過 80% – 警告
- 100% – 關鍵
磁盤延遲
使用\LogicalDisk(*)\Average Disk Sec\Read or Write計數器來監控磁盤延遲,這對於在Hyper-V上運行的虛擬機器的整體性能至關重要。
- <10 毫秒 (0.010 秒) – 正常
- >15毫秒 (0.015 秒) – 警告
- >25 毫秒 (0.025 秒) – 至關重要
網絡
使用\Network Interface (*)\OutputQueue Length計數器來監控網絡使用情況,即它測量輸出封包隊列中的網絡封包數量。
- 平均小於1 – 健康
- 平均大於1 – 警告
- 平均大於2 – 至關重要
還應考慮使用這些計數器:
網絡介面(網絡適配器名稱)\字節/秒
Hyper-V虛擬網絡適配器(虛擬機器名稱)\字節/秒
為虛擬機器提供足夠的內存
每台機器都需要足夠的內存才能正常工作,否則性能將下降,交換文件將被密集使用(如果配置了),並且磁盤將過載。此外,交換文件的工作速度比RAM慢。如果操作系統和應用程序消耗約12 GB物理內存,則將16 GB RAM安裝到計算機中。對於VM內存分配也使用相同的方法。例如,如果在VM上運行的軟件消耗6 GB RAM,則為VM提供8 GB RAM。為了正常工作,至少提供額外的20%內存。建議您作為緩衝區提供額外的內存。
使用事件查看器監控日誌
使用事件檢視器來監控 Hyper-V 主機和客戶虛擬機器上的日誌,這對故障排除非常有用。查看和分析系統事件和應用程序事件等日誌可以幫助確定問題並找到正確的解決方案來修復它們。事件檢視器顯示與應用程序相關的錯誤日誌,並在操作系統級別工作。要打開事件檢視器,您應該首先打開電腦管理。
Hyper-V 日誌位於:
事件檢視器 > 應用程序和服務日誌 > 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
在電腦管理中,您可以管理 Windows 服務。建議您監視以下 Hyper-V 服務:
- Hyper-V 圖像管理服務 (vhdsvc)
- Hyper-V 虛擬機器管理 (vmms)
- Hyper-V 網絡管理服務 (nvspwmi)
在 PowerShell 中監視資源
您可以在 PowerShell 中監視 Hyper-V 主機和虛擬機器的資源。這在非 GUI Windows OS 中特別有用。使用特殊的 cmdlets 在 PowerShell 中監視性能。
通過與 Windows 事件日誌交互來查看 Hyper-V 的操作日誌:
Get-WinEvent -LogName Microsoft-Windows-Hyper-V-Hypervisor-Operational | select -First 1 | Format-List *
此命令与 Hyper-V 主机或客户机上的性能计数对象进行交互,通过使用 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 監控有助於確定 VM 的性能問題是否與 Hyper-V 主機或客戶端 VM 相關。Hyper-V 性能監控允許您優化 Hyper-V 主機上的硬件資源使用情況。一些工具,如 Windows 任務管理器,用於監控物理主機,不適合監控在 Hyper-V 上運行的 VM 的性能。性能監視器包括針對 Hyper-V 主機和 VM 資源監控而採用的 Hyper-V 特定計數器。如果使用 GUI,您可以使用 Hyper-V 管理器、事件查看器和資源監視器,如果使用命令行界面,可以使用 PowerShell 中的特殊命令。
如果本地工具的功能不足以滿足您的需求,請嘗試使用其他 Hyper-V 監控軟體。監控可以幫助您優化 Hyper-V 的性能,但在災難發生時無法保護您免受資料損失。請考慮使用可靠的 Hyper-V 備份軟體來保護您的資料。下載 NAKIVO 的免費版本,獲取多平台支援、勒索軟體恢復等功能。
Source:
https://www.nakivo.com/blog/tips-and-tools-for-microsoft-hyper-v-monitoring/