VMware on Windows 7 最佳化

Posted by: 邱小新 at 晚上10:23:00

開啟 Disable memory page trimming

VM(選單列) → Settings... → 出現 Virtual Machine Settings 對話框 → Options(分頁) → Advanced → 打勾 Disable memory page trimming

等同於修改虛擬機的 .vmx 文件,修改 MemTrimRate = "0"。

在此功能啟用時,VMware 會將一些虛擬機未使用的記憶體交給主機,而將虛擬機記憶體保存在硬碟交換文件中。但是這樣做,雖然可以讓主機獲得更多記憶體,同時卻導致硬體性能的下降。如果當 VM Suspend 時,卻發現主機整個卡住,硬碟瘋狂的運轉,持續十分鐘以上,把此功能打勾試試。

開啟 Fit all virtual machine memory into reserved host ram

Edit(選單列) → Preferences → 出現 Preferences 對話框 → Memory → Advanced → 選取 Fit all virtual machine memory into reserved host ram

等同於修改 C:/ProgramData/VMware/VMware Workstation/config.ini 文件,修改 prefvmx.minVmMemPct = "100"。

如果這個參數是 100 的話,當虛擬機啟動時,VMware 會將該虛擬機的全部記憶體都使用實體記憶體,而不 swap 到檔案系統上;如果這個參數是 50 的話,VMware會將該虛擬機的部份記憶體 swap 到檔案系統上,部份使用實體記憶體。要高效能的話,就設為 100 吧。

開啟 prefvmx.useRecommendedLockedMemSize

修改 C:/ProgramData/VMware/VMware Workstation/config.ini 文件,修改prefvmx.useRecommendedLockedMemSize = "TRUE"。

不詳

取消 mainMem.useNamedFile

修改虛擬機的 .vmx 文件,加入 mainMem.useNamedFile = "FALSE"。

沒此參數前虛擬機執行時會在本機產生 .vmem 的文件。虛擬機上的記憶體讀寫等於在本機 .vmem 文件讀寫,也就造成虛擬機執行時,硬碟常常運轉不停。但有得必有失,加上這個參數後 Suspend 虛擬機速度就會慢很多,突然斷電就更難保證數據的完整性。

當虛擬機啟動時,VMware 會把部份的虛擬機記憶體存在檔案系統上,以檔案形式存在,這是因為 VMware 使用了 mmap(記憶體映射)的方式來管理虛擬機記憶體。藉由修改 mainMem.useNamedFile,VMware 會將這個檔案由 VM 所在的目錄,改放到主機暫存目錄下,這個異動可能對效能有小小地幫助,特別是暫存目錄是 ramdisk 時,但要注意有可能發生空間不足的問題。

取消 sched.mem.pshare.enable

修改虛擬機的 .vmx 文件,加入 sched.mem.pshare.enable = "FALSE"。

停用 memory sharing 後,VM 將不會分享通用記憶體block,VM 也將停止比對記憶體block。強制關閉虛擬機的虛擬記憶體管理分享裝置,需要較高的主系統資源,但提供比較快的虛擬環境。

取消 MemAllowAutoScaleDown

修改虛擬機的 .vmx 文件,加入 MemAllowAutoScaleDown = "FALSE"。

這個參數設定成 "TRUE" 時,如果虛擬機設定需要 2GB 的記憶體,但實際上主機卻提供給虛擬機的記憶體不到 2GB,虛擬機在啟動時會自動調整縮小記憶體到足夠啟動的範圍。


Windows XP 的 config.ini 放在 C:\Documents and Settings\All Users\Application Data\VMware\VMware Workstationg。


以上是修改 VMware 的設定,當然在 windows 7 下也要做一些微調,才能使 vmware 跑起來很順,原文 vmware 提供,有空在來做整理。

1 意見

虚拟化与配置相关,特别是cpu(推荐intel的3770k i7 或者4770)和内存。

張貼留言