VMware虛擬機磁盤操作占用過高問題


使用虛擬機運行Linux圖形桌面時,經常因為一個網頁或者編譯某個程序就導致虛擬機卡死,甚至影響主機使用。明明主機內存有8G,分配給虛擬機的內存也不少,為什么就這么卡頓。打開主機上的任務管理器查看發現磁盤占用百分百,原來是磁盤讀寫的鍋。但是我就覺得特別好奇,為什么在虛擬機中打開一個網頁會導致長時間的磁盤操作占有百分百,甚至把主機都卡死。
 
在查了許多資料后,有建議換成SSD的,有建議裝雙系統的,有建議用遠程桌面的等等,嘗試過幾乎所有解決方案(除了換SSD和雙系統),這些方案幾乎都沒有什么效果。最后綜合了各方面的資料我發現導致磁盤I/O操作的主要原因有以下幾點:
 
1.VMware會在使用的時候統計內存中的數據的使用情況,然后將不常用的一些內存數據存入本地磁盤從而釋放出空間節省內存的使用。這個對於內存較小的機子可能有一些幫助,但是內存交換也會帶來大量的I/O操作從而導致性能下降
 
2.VMware從10版本開始,在運行每個虛擬機的時候回默認在硬盤上為相應的虛擬機生成一個內存實時鏡像文件用於存儲虛擬機內存的改變,這就導致了虛擬機在使用的時候不斷的在對硬盤發生I/O操作,這個是及其耗費時間,從而使得虛擬機小小的操作卻導致了長時間的卡機甚至是死機的情況的發生。對於使用SSD的電腦還好,對於大多數在機械硬盤上進行這些操作的用戶來說簡直是災難。不過幸好解決的辦法也比較簡單。
 
解決辦法
 
針對第一點可以點擊 虛擬機/設置/選項/高級 將“禁用內存頁面修整”勾選起來禁止這一部分的內存交換 
這里寫圖片描述
 
針對第二種情況,將實時內存鏡像讀寫默認關閉,打開C:\ProgramData\VMware\VMware Workstation下的settings.ini文件,在文件中加入下面這一條命令:
 
mainMem.useNamedFile = "FALSE"
 

建議大家在修改前先保存一份原先的設定,然后再進行修改。如果遇到權限問題可以右鍵點擊‘屬性’,然后選擇‘安全’一欄

這里寫圖片描述

選擇Everyone一欄,然后點擊下面的編輯

這里寫圖片描述

將‘允許’那一列中的完全控制權限賦予每個用戶,然后保存修改后退出即可,修改完settings.ini文件后再將其修改回原先的設置即可。這下磁盤占用過大的問題就可以得到解決了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM