VMware--解决vmdk越来越大的问题(vmdk瘦身)

原文网址:VMware--解决vmdk越来越大的问题(vmdk瘦身)-CSDN博客

简介

本文介绍VMware解决vmdk越来越大的问题的方法。

问题描述

刚开始虚拟机的vmdk还不大,也就1G左右。用着用着,它越来越大,到了30多G!

原因分析

VMDK文件之所以大,是因为guest系统总是占用空间而不释放。

虚拟机删除文件只是把文件索引给剔除掉了,而删除的这个文件可能存在.vmdk的任何位置,对于windows来说,这个文件的中间有一块位置是0,此空间无法释放。唯一的办法就是用一些手段把这块0的空间推到.vmdk的末尾,这样windows就知道这个文件变小了。

vmware-vdiskmanager.exe就是干这个事情:对.vmdk进行空间整理,把中间那些是0的块给挪到后边去,就释放掉了。

解决方案

对vmdk进行瘦身。

1.在虚拟机Ubuntu里操作

复制代码
cat /dev/zero > zero.fill

最终会因为磁盘空间用完而退出:

查看一下zero.fill文件大小(77G):

然后删除此文件:

复制代码
rm -f zero.fill

2.在主机上操作

关闭虚拟机,使用vmware-vdiskmanager.exe来给vmdk瘦身。

本处我的VMware安装在D盘(D:\Program Files (x86)\VMware\VMware Workstation),vmdk在这里:vmware-vdiskmanager.exe -k "E:\work\vmware\Ubuntu20.04.1\Ubuntu20.04.1\Ubuntu20.04.1.vmdk"

到VMware目录下执行命令:

复制代码
vmware-vdiskmanager.exe -k "E:\work\vmware\Ubuntu20.04.1\Ubuntu20.04.1\Ubuntu20.04.1.vmdk"

查看*.vmdk文件,已经缩小了(大概缩小了一半):

相关推荐
EHagSJVNpTY几秒前
MATLAB 中基于最大重叠离散小波变换的心电信号处理探索
ubuntu
.小墨迹29 分钟前
apollo学习之借道超车的速度规划
linux·c++·学习·算法·ubuntu
Lsir10110_1 小时前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
Sheffield1 小时前
command和shell模块到底区别在哪?
linux·云计算·ansible
历程里程碑1 小时前
Linux20 : IO
linux·c语言·开发语言·数据结构·c++·算法
郝学胜-神的一滴1 小时前
深入浅出:使用Linux系统函数构建高性能TCP服务器
linux·服务器·开发语言·网络·c++·tcp/ip·程序人生
承渊政道1 小时前
Linux系统学习【Linux系统的进度条实现、版本控制器git和调试器gdb介绍】
linux·开发语言·笔记·git·学习·gitee
技术路上的探险家1 小时前
Ubuntu下Docker与NVIDIA Container Toolkit完整安装教程(含国内源适配)
linux·ubuntu·docker
代码AC不AC1 小时前
【Linux】深入理解缓冲区
linux·缓冲区·标准错误
Doro再努力1 小时前
【Linux操作系统12】Git版本控制与GDB调试:从入门到实践
linux·运维·服务器·git·vim