完美解決虛擬機器佔用硬碟越來越大、刪除快照出現記憶體不足錯誤
刪除快照出現記憶體不足錯誤解決方案
建立及刪除合併快照
在工作中防止因為虛擬機器導致工作任務延期;可以建立快照儲存當前狀態;刪除時再從後往前逐個刪除所做快照以合併到虛機硬碟中。同一個虛機建立快照越多虛機的執行效率就越慢,刪除合併快照可以顯著提高虛機執行效率。
問題
刪除合併快照時需要大於所刪快照大小的可用磁碟空間。如果空間不夠,在刪除時會報錯誤提示,等你準備好足夠空間後會發現快照管理器裡已經看不到那個快照,雖然此時虛機能正常執行,但無法繼續完成刪除合併快照操作了。
解決思路
目前沒有找到更好的方法,可用的變通方法有兩個:捕捉虛機和克隆虛機。這兩種方法都能達到新的虛機和原虛機一模一樣,且新的虛機會自動刪除合併快照到虛機硬碟中的效果。
方法1:克隆虛機
克隆完畢後,開啟克隆虛機所在目錄,可以看到快照已經被刪除併合併到虛機硬碟:
刪除合併快照時因磁碟空間不夠導致快照管理器看不到快照無法完成的解決方法
關閉被克隆的虛機,然後在VMware Workstation開啟選擇新虛機就能像原先的虛機一樣正常工作了。
clone完虛擬機器後,可以驗證克隆後的虛擬機器是否能夠開啟,終端是否正常,環境是否OK,檔案是否都在。
方法2:捕捉虛機
這個方法屬於殺手鐗,在其他方法效果不大的時候使用,比較適用虛擬機器空間極度需要清理的情況。
優點是可以釋放大量空間,缺點是隻能保留VMware虛擬機器當前的狀態和檔案,丟失其他快照(可以按需先轉到某個快照再匯出OVF,這樣就可以保留快照時的狀態了。同樣,會丟失其他狀態)。步驟如下: 1、點選要清理的虛擬機器,然後左上角點選檔案,匯出為OVF(只存了虛擬機器當前的狀態,大概有十幾個G),存到其他空閒的磁碟下。
2、將上述步驟匯出的ovf再部署出來,看看虛擬機器是否正常。 如果正常可用,就可以把虛擬機器原來佔用的磁碟清空了,快速釋放大量空間。
如果虛擬機器不正常,試試重新匯出OVF。
VMware虛擬機器佔用的空間進行瘦身
原因描述
隨著繼續安裝新的軟體仍然在增大中,即使在ubuntu裡面刪除了檔案仍然在windows主機中佔用那麼大的空間。但是在ubuntu下通過命令df
-h檢視,獲取到的硬碟佔用空間並沒有那麼大,非常的奇怪。網上的說法是:“虛擬機器上的Linux等系統認為.vmdk是一個硬碟,將檔案刪除後其可用空間可以恢復,重新利用;而對windos系統來說.vmdk是一個檔案其變大後是不可能自動變小的。
針對以上原理,已變大的.vmdk檔案是無法減肥的,即使你將所有資料刪除,此檔案依佔用windows的硬碟空間仍然不會改變。”
網上方式1:壓縮磁碟。使用命令vmware-toolbox-cmd disk shrinkonly壓縮磁碟,如下圖所示。感覺效果不明顯。
sudo vmware-toolbox-cmd disk shrinkonly
網上方式2:壓縮.vmdk方法
在虛擬機器Ubuntu中,執行以下命令:
cat /dev/zero > zero.fill
rm -f zero.fill
在主機上操作
退出虛擬機器,使用vmware-vdiskmanager.exe來shrink檔案*.vmdk。
如我的VMware安裝在F盤,在windows的命令列中:
$ F:\>cd VMware
$ F:\VMware>vmware-vdiskmanager.exe -k "F:\UbuntuVMware\Ubuntu1804\Ubuntu 64-bit.vmdk"
檢視*.vmdk檔案,已經縮小了。
其他實用方式
方法一:VMware自帶的清理磁碟
這個方法是VMware自帶,具有普適性,對快照等檔案不造成影響。 步驟如下:
1、將要清理的虛擬機器關機。
2、右鍵該虛擬機器——>管理——>清理磁碟,VMware會自動提示可清理的磁碟大小,點選確定等待清理完畢即可。
方法二:VMware自帶的碎片整理和壓縮
這個方法也是VMware自帶,具有普適性,對快照等檔案不造成影響。碎片整理花費時間可能比較長,有個心理準備。 步驟如下:
右鍵該虛擬機器——>設定——>硬體——>硬碟——>碎片整理,整理完成後,點選壓縮。
方法三:在虛擬機器處於關機狀態時存快照
**
關機狀態的虛擬機器存的快照所佔空間非常小,而正常開機狀態虛擬機器直接存快照的話,動輒十幾個G。
這個方法需要平時存快照的時候就注意。如果不想刪除快照,又受困於空間不夠,可以試試這個辦法。關機和開機狀態存快照的區別是:
關機快照佔用空間小,恢復快照時虛擬機器處於關機狀態,需要重新開啟才能使用,這個開機過程和我們普通的物理機器開機是一樣的。
開機快照佔用空間大,存快照時會將所有當前的系統資訊都存下來,包括正在使用的軟體,開啟的視窗,瀏覽器的內容等等。恢復快照時,虛擬機器就會回到存快照那一瞬間一模一樣的使用狀態中。
如果你只想做一個系統備份以防哪天出現故障無法正常使用,那麼關機快照就可以滿足要求。
如果你是一個測試人員,發現了某個問題,那就選擇開機存快照,會保留所有問題環境的現場細節,方便後續復現和定位。
相關文章
- 虛擬記憶體有什麼用 虛擬記憶體不足怎麼解決記憶體
- win10怎麼刪除虛擬記憶體 刪除win10虛擬記憶體的方法Win10記憶體
- win10系統C盤WinSXS資料夾佔用記憶體越來越大如何解決Win10記憶體
- windows下提示虛擬記憶體不足如何解決?Windows記憶體
- 誤刪除ESXi虛擬機器資料恢復虛擬機資料恢復
- Java虛擬機器記憶體區域詳解Java虛擬機記憶體
- JAVA 虛擬機器可用記憶體Java虛擬機記憶體
- 最簡!手把手帶你完美刪除Vmware虛擬機器!虛擬機
- SQLServer因為OS虛擬記憶體不足而hang住異常解決-鎖定記憶體頁 (LPIM)SQLServer記憶體
- win10關閉虛擬記憶體好嗎_win10刪除虛擬記憶體怎麼設定Win10記憶體
- Java 虛擬機器之三:Java虛擬機器的記憶體結構Java虛擬機記憶體
- 【虛擬機器資料恢復】VMware ESXi誤刪除虛擬機器的資料恢復案例虛擬機資料恢復
- Win10系統啟動軟體出現Java虛擬機器錯誤的解決方法Win10Java虛擬機
- 虛擬機器部署 Sentinel 服務錯誤記錄虛擬機
- win10開機記憶體佔用高怎麼解決_win10開機後記憶體佔用高的解決措施Win10記憶體
- Java虛擬機器之記憶體區域Java虛擬機記憶體
- 淺析虛擬機器記憶體管理模型虛擬機記憶體模型
- 【虛擬化資料恢復】KVM虛擬機器誤刪除資料恢復案例資料恢復虛擬機
- 解決Android 虛擬機器執行The emulator process for AVD was killed.錯誤。Android虛擬機
- vertica記憶體不足的解決方案記憶體
- mongodb記憶體不足怎麼解決?MongoDB記憶體
- 如何解決“虛擬機器ID無效。要解決此問題,從列表中刪除虛擬機器,並再次新增它”虛擬機
- Java虛擬機器記憶體模型學習筆記Java虛擬機記憶體模型筆記
- 應用 AddressSanitizer 發現程式記憶體錯誤記憶體
- win10怎樣刪虛擬記憶體_Win10虛擬記憶體如何關閉Win10記憶體
- 【虛擬機器資料恢復】誤刪除VMware虛擬機器vmdk檔案的資料恢復案例虛擬機資料恢復
- EMC Isilon儲存誤刪除虛擬機器的恢復過程虛擬機
- Java虛擬機器記憶體區域劃分Java虛擬機記憶體
- jdk8:jvm虛擬機器記憶體模型JDKJVM虛擬機記憶體模型
- Java虛擬機器記憶體分配與回收策略Java虛擬機記憶體
- jvm記憶體區域之虛擬機器棧JVM記憶體虛擬機
- JVM虛擬機器記憶體結構簡析JVM虛擬機記憶體
- Java 程式佔用 VIRT 虛擬記憶體超高的問題研究Java記憶體
- 關於虛擬機器記憶體和JVM記憶體設定的思考虛擬機記憶體JVM
- 【虛擬機器資料恢復】Linux系統下誤刪除KVM虛擬機器的資料恢復案例虛擬機資料恢復Linux
- 詳解Java 虛擬機器(第⑥篇)——記憶體分配與回收策略Java虛擬機記憶體
- Java虛擬機器詳解(二)------執行時記憶體結構Java虛擬機記憶體
- EMC NAS中虛擬機器被誤刪除的資料恢復案例虛擬機資料恢復