VMware 虛擬機器效能問題的全面概述
硬體和軟體問題有時會導致虛擬機器效能不佳,這可能會降低虛擬環境的便利性和靈活性。閱讀這篇部落格文章,了解當虛擬機器運行緩慢時,如何提升 VMware 虛擬機器的效能。您將了解導致虛擬機器效能下降的最常見問題,並掌握可能的解決方案。
提升虛擬機器效能的原因
讓我們來看看執行診斷並提升虛擬機器效能的主要原因:
- 虛擬機器的效能比在另一台主機上運行相同虛擬機器的效能更慢。
- 應用程式的執行速度比預期慢。但當您將虛擬機器遷移至另一台主機時,應用程式的效能便恢復正常。
- 應用程式需要很長時間才能啟動。
- 正在執行的應用程式沒有回應。
- CPU、記憶體或磁碟使用率已達 100%。
CPU 與記憶體
硬體資源不足是導致虛擬機器(VM)效能緩慢的最常見原因之一。若未為虛擬機器提供足夠的 CPU 資源,虛擬機器內的軟體可能會運行緩慢並出現延遲。要解決此問題,請將虛擬機器設定為使用更多 CPU 核心,或增加虛擬處理器數量。 此外,若您的主機配備舊式處理器,且核心數、快取容量及時脈頻率皆偏低,請考慮升級主機硬體。
設定虛擬機器的記憶體容量時,請確保該容量足以滿足虛擬機器的需求。同時,主機也必須保留足夠的記憶體空間。 若未為虛擬機器提供足夠的記憶體,客體作業系統(OS)將頻繁使用暫存檔,導致整體虛擬機器效能變慢。若為虛擬機器分配大量記憶體卻未預留足夠空間給主機作業系統,則主機作業系統會使用暫存檔。這將導致作業系統與應用程式的效能下降。此外,在此情況下虛擬機器的效能也會隨之降低。 請勿為虛擬機器分配過多記憶體,同時也應為主機預留部分記憶體。務必確保主機擁有足夠的記憶體。
請閱讀您所使用之作業系統與應用程式的系統需求。讓我們來看看一個例子。您的主機擁有 8 GB 記憶體,並執行 ESXi 7.0 或 Windows 10 搭配 VMware 工作站. 此主機上正在執行一台 Windows Server 2019 虛擬機器。若為 Windows Server 2019 虛擬機器配置 4 GB 記憶體,則主機作業系統將剩餘 4 GB 記憶體。這足以讓主機作業系統和客體作業系統正常運作(前提是不執行其他會消耗資源的應用程式)。 此比例為 1:2(4 GB/8 GB),而 1/2 – 1 = -0.5 即為當前 記憶體超額分配平均值 值。若為執行 Windows Server 2019 的虛擬機器提供 2 GB 記憶體,在此情況下,虛擬機器的效能將會變慢。若為 Windows Server 2019 虛擬機器提供 6 GB 記憶體,主機的記憶體容量將不足,導致實體與虛擬機器皆運行緩慢。
若要在虛擬機器上執行資料庫等資源密集型應用程式,請調整虛擬機器配置,並相應地增加 CPU 和記憶體資源。
記憶體超額分配 這是一種總資源分配超過容量的狀況。假設您有一台配備 8 GB 記憶體的主機,並在該主機上執行五台各配置為使用 2 GB 記憶體的虛擬機器,由於記憶體已超額分配(若所有虛擬機器皆處於高負載狀態),所有虛擬機器及主機的效能都可能下降。若部分虛擬機器正在運行但負載較輕,由於 ESXi 會優化記憶體利用率,因此記憶體主要會被高負載的虛擬機器所佔用。 在測試環境中,記憶體超額分配是合理的。
此外,請檢查記憶體氣球特點及其設定,以便從虛擬機器回收未使用記憶體,從而有效利用實體記憶體。有時,當虛擬機器需要使用磁碟作為交換空間時,此特點可能會影響虛擬機器的效能。
CPU 超額分配VMware 提供了合理利用資源的技術,讓您能夠為虛擬機器 (VM) 配置的虛擬處理器數量,超過主機上的實體 CPU 核心數。 CPU 超額配置參數是指分配給虛擬機的虛擬處理器數量與主機上實體 CPU 核心數量的比例。若該值為 3:1,則無需擔憂。若該值為 5:1,虛擬機的效能將會下降。若 CPU 超額配置值達到 6:1 或更高,虛擬機的運作速度將變慢,這可能會引發許多問題。
如何解決 CPU 和記憶體問題?
請考慮升級硬體並為該裝置增加更多記憶體 實體機器 用於執行虛擬機器的系統。請確保記憶體容量充足,以避免主機和來賓作業系統使用暫存檔。避免記憶體超額分配。
有時 CPU 電源管理特點可能會導致虛擬機器效能低下。請嘗試停用這些特點。
檢查主機上的可用 CPU 和記憶體資源。
在 ESXi 上,請在 命令列 要檢查您的伺服器是否過載:
esxtop
請檢查 負載平均值 參數。
1.0 – 表示 CPU 已完全滿載
0.5 – 表示 CPU 僅使用一半(50%)
2.0 – 表示 CPU 負載已達兩倍,必須採取措施
按下這些鍵可切換檢視模式: c – CPU 指標(預設顯示), m – 記憶, n – 網路, d – 磁碟。按下空格鍵以更新顯示的數值(數值每 5 秒自動更新一次)。按下 h 尋求協助以及 q 要退出。
請查看 記憶體超額分配 平均 用於檢查 ESXi 記憶體使用情況的參數。該 記憶體超額分配平均值 該數值的計算方式如下:請求記憶體與可用記憶體的比率減去 1。此參數的建議值為 0 或更低。
若您使用安裝於 Linux 或 Windows 上的 VMware 工作站來執行虛擬機器,請使用作業系統中提供的標準系統監控工具。
檢查客體作業系統的 CPU/記憶體使用狀況。某些應用程式可能運作異常,並佔用所有 CPU(CPU 核心)資源。檢查正在執行的程序,找出那個佔用 CPU 的程序。檢查主機上實體處理器的溫度,因為過高溫度(超過 80 °C)會導致效能問題,並對處理器構成風險(處理器可能會損壞)。
升級硬體 – 在主機上安裝更強大的 CPU 或增加處理器數量。檢查虛擬機器 (VM) 配置。若虛擬機器的虛擬處理器數量超過實際需求,請減少虛擬機器的虛擬處理器數量,以釋放主機資源。
在 VMware vSphere 中,您可以使用 DRS 叢集 (分散式資源排程器) 將虛擬機器從過載的 ESXi 主機遷移至具備閒置硬體資源的 ESXi 主機。
磁碟問題
儲存系統效能不佳,會導致將虛擬磁碟儲存於該儲存系統上的虛擬機器效能低下。儲存延遲對虛擬機器的效能至關重要。請盡量使用 SSD(固態硬碟)來儲存虛擬機器。若無法使用 SSD,請選用轉速為 7200 RPM 或 10000 RPM 的 HDD(機械硬碟)。 轉速為 5400 RPM 的硬碟會導致效能極度低下。建議優先使用具備 SAS 介面的硬碟。
若您使用 VMware 工作站,可依據上述建議將虛擬機器儲存於外部 SATA (eSATA) 或 USB 3.0 硬碟上。在關閉虛擬機器之前,請勿拔除外部硬碟。
在生產環境中,請使用不可擴充或預先分配的厚式磁碟。預先清零 厚配置 硬碟在首次寫入操作時速度較快。
若您使用 HDD 儲存虛擬機器,請對該實體硬碟或磁碟陣列執行磁碟重組,並在虛擬機器設定中對虛擬磁碟執行重組。使用分割區來減少磁碟碎片。將作業系統安裝在一個分割區上,將應用程式使用的檔案(例如資料庫)儲存於另一個分割區。
檢查 HBA(主機匯流排介面卡)的韌體是否為最新版本。 在伺服器上更新 HBA 的韌體。
檢查磁碟健康狀態。執行磁碟與檔案系統的診斷。若磁碟已損壞,請立即更換。
檢查介面(SAS、SATA)連接線。
磁碟加密會因額外開銷而降低效能。若加密對虛擬機器並非關鍵需求,請將虛擬機器檔案移至未加密的儲存空間,或關閉磁碟加密功能。
使用獨立(硬體)RAID 控制器,以獲得更高的效能與可靠性。
請確保虛擬機器內的磁碟有足夠的可用空間。磁碟空間不足會導致效能下降,因為作業系統和應用程式無法寫入暫存檔。
您可以將虛擬機器遷移至未過載的另一顆磁碟或磁碟陣列。在 VMware vSphere 中,請考慮使用 DRS 和 Storage DRS。減少在同一 LUN 或資料存放區上運行的虛擬機器數量。
快照
虛擬磁碟快照 降低虛擬磁碟效能。每個快照都會產生一個虛擬磁碟的增量 VMDK 檔案。此機制採用"寫入時複製"的方式運作。每個增量 VMDK 檔案包含與父 VMDK 檔案相比的資料差異(變更日誌),而虛擬機器在存取虛擬機器磁碟時,會讀取所有這些資料。結果,資料需從同一物理磁碟上的多個虛擬磁碟檔案中讀取,這會降低虛擬機器的效能。 基於相同原因,請勿在 VMware Workstation 中為虛擬機器使用分割 VMDK 檔案(此選項是為不支援大於 4 GB 檔案的舊式檔案系統所設計)。隨著快照數量增加,磁碟負載也會隨之增加。 快照 通常用於臨時用途(例如,在備份工作期間複製資料,或在虛擬機器內安裝或測試應用程式)。請盡快刪除或提交快照。
在 VMware Workstation 中,您應先關閉虛擬機器,關閉 VMware Workstation,然後執行一個命令,在該命令中指定現有主要 VMDK 檔案的路徑以及新虛擬磁碟檔案的路徑:
"C:Program Files (x86)usernameVMware Workstationvmware-vdiskmanager.exe" -r
"D:VMsVM-foldervm-name.vmdk" -t 0 "D:VMsVM-folderNewDisk.vmdk"
接著重新設定虛擬機器以使用新的虛擬磁碟,或建立新的虛擬機器,並設定其使用新的整合虛擬磁碟。
在 ESXi 上,執行此命令以移除快照:
vmware-cmd path_to_vmx_file removesnapshots
或
vim-cmd vmsvc/snapshot.removeall VMID
您可以使用以下指令查看 VMID:
vim-cmd vmsvc/getallvms
若已使用分割的 VMDK 檔案,請將其合併。請在安裝了 VMware 工作站的 Windows 電腦上,使用以下指令執行此操作:
"C:Program Files (x86)VMwareVMware Workstationvmware-vdiskmanager.exe" -r splitdisk.vmdk -t 0 mergeddisk.vmdk
將效能敏感的資料儲存於速度較快的磁碟上。
VMware Tools
請確認 VMware Tools 已安裝在客體作業系統上。 VMware Tools 是一組用於提升虛擬機器效能與使用者體驗的驅動程式及輔助工具。安裝 VMware Tools 後,圖形效能將獲得提升。滑鼠動作會同步,且運作時不會出現延遲。透過 VMware Tools,您可以在全螢幕模式下以更高的效能使用虛擬機器。請檢查是否已安裝 VMware Tools。
在 Windows 中,請點擊時鐘旁系統匣中的 VMware Tools 圖示,或前往 C:Program FilesVMwareVMware Tools (這是預設目錄)並執行以下指令:
VMwareToolboxCmd.exe -v
在 Linux 中,請在終端機中執行以下指令:
vmware-toolbox-cmd -v
透過在 ESXi 命令列中讀取虛擬機器日誌,檢查虛擬機器客體上的 VMware Tools 版本:
grep toolbox /vmfs/volumes/datastore/vm_name/vmware.log
或
grep build- /vmfs/volumes/datastore/vm_name/vmware.log
在 VMware vSphere Client 中,請檢查虛擬機器上執行的客體作業系統是否已安裝 VMware Tools。有關 VMware Tools 的資訊會顯示在 Summary 虛擬機的"資訊"分頁(狀態和版本)。
網路問題
如果您的 ESXi 主機已連接到 SAN(儲存區域網路)等儲存裝置,或 NAS (網路附加儲存裝置),請確保網路速度足夠且網路未過載。
您應使用獨立的 ESXi 管理 網路, vMotion 網路,並在 vSphere 中設定儲存網路以獲得高效能。
在使用 ESXi 伺服器時設定 NIC Teaming(連結聚合) 虛擬交換器.
若您現有的網路頻寬不足以滿足需求,請考慮升級網路。例如,將現有的 1 Gbit 設備更換為 5 Gbit 或 10 Gbit 的網路介面卡、交換器及路由器。
防毒軟體
請確保主機上的防毒軟體不會掃描虛擬磁碟檔案,因為掃描這些檔案可能會降低虛擬機器的效能。您可以將虛擬機器目錄中的 VMDK 檔案排除在防毒掃描之外。
檢查主機作業系統和來賓作業系統上運作的作業系統狀態。請確保沒有病毒或其他惡意軟體,或 勒索軟體.
建議使用可與 VMware vShield 在 ESXi 主機上協同運作的專用防毒解決方案,而非在每個虛擬機的客體作業系統上安裝防毒軟體。此方法能提升效能,對於大型虛擬環境而言更是明智之舉。若使用 vShield,請務必正確設定此軟體,因為設定不當可能會導致虛擬機效能下降。
與 Hyper-V 相關的問題
如果您使用的是 VMware Workstation 15.5 或更新版本,且該版本支援在 Hyper-V 特點 若安裝於 Windows 主機上,VMware 虛擬機器的效能可能會較慢。當安裝 Hyper-V 角色時,Hyper-V 會直接使用 Intel VT-x 或 AMD-V 等 CPU 虛擬化特點,而 VMware Workstation 的虛擬機器監控程式 (VMM) 必須在特權模式下運行,因此無法使用這些特點。 基於相容性考量,VMware 工作站的 VMM 會以使用者模式或 ULM 模式(而非特權模式)運行,因為當 Hyper-V 正在使用 CPU 的硬體虛擬化特點時,VMM 便無法存取這些特點。在此情況下,VMM 會使用 Microsoft 的 WHP API,這些 API 會在 VMM 與 CPU 之間形成額外層級,進而降低 VMware 虛擬機器的效能。
請從 Windows 主機系統中解除安裝 Hyper-V 及其相關特點(例如"基於虛擬化的安全性")。完成後,VMware Workstation 的 VMM 將以特權模式運行,並能直接利用 CPU 虛擬化特點,從而實現高效能運作。此解決方案有助於解決 VMware 虛擬機運行緩慢的問題。
虛擬機器效能監控
虛擬機器 (VM) 效能監控是一種廣泛使用的方法,用於偵測過載及相關的效能問題。VM 效能監控有助於您排除問題根源。請務必在主機層級監控 VM 效能,而非在來賓作業系統內部進行監控。來賓作業系統無法識別虛擬化特點(例如動態資源分配),因此可能會顯示不正確的資料。 VMware 提供主機層級的計數器。這些計數器提供正確的資訊,並用於虛擬機器效能監控。基於對虛擬機器內部效能資訊收集方式的了解,VMware 開發了專用的虛擬機器計數器函式庫,讓您能夠透過 Windows 客體系統中的 Perfmon 工具,查看正確的虛擬機器效能資訊。若要進行虛擬機器效能監控,必須在客體作業系統上安裝 VMware Tools。
若要在 VMware vSphere Client 中檢查已使用的硬體資源,請選取一臺虛擬機器,開啟"監控"索引標籤,然後選取 Performance > Overview or Performance > Advanced 以查看圖表及其他資訊。在 Overview 在此頁面中,您可以即時查看 CPU、記憶體、網路及儲存空間(可用空間、已用空間與輸入/輸出效能)的使用狀況,並可瀏覽前一天、一週、一個月、一年或自訂時間區間的資料。請透過本頁面的兩個下拉式選單選擇這些選項(時期 以及 檢視).
點擊 Utilization 在 Monitor 請按此標籤,查看有關虛擬機器 CPU、虛擬機器記憶體及來賓記憶體使用情況的詳細資訊。
同樣地,您可以選取一個 ESXi 主機或 叢集 在 vSphere Client 中,即時監控已使用及可用資源,並可針對選定的期間進行檢視。
結論
這篇部落格文章闡述了討論虛擬機器效能問題時需注意的重點,以及有助於提升虛擬機器效能的建議。您應配備具備足夠效能的硬體、避免記憶體超額分配,並正確設定軟體。利用虛擬機器效能監控功能來偵測虛擬機器效能低落的原因。
磁碟損壞是導致虛擬機器效能低落的最危險問題,因為除了虛擬機器效能不佳外,您還可能面臨資料遺失的風險。為避免資料遺失,請定期執行 VMware 資料備份。使用 NAKIVO Backup & Replication 因為 VMware 備份 – 一款支援 VMware vSphere 7.0 的通用資料保護解決方案,提供多項實用特點,可提升備份速度與可靠性。



