问题描述
1、在VMware Workstation中安装Deepin和CentOS用于开发,但是时间久了虚拟机所占空间越来越大,但是在虚拟机中使用磁盘空间查看,显示的占用量远低于虚拟机占用的空间。
2、使用虚拟机->设置->硬盘->碎片整理/压缩
均没有什么效果。
环境描述
1、Vmware Workstation Pro 17/16/15
2、虚拟机Deepin/Cent OS 7
原因分析:
猜测虚拟机在进行磁盘读写的时候,可能只操作扇区,不考虑磁盘中文件系统的类型和内容,只有当数据全为0时空间才能被释放
解决方案:
第一步: 清理无用文件
- 删除掉没有用的软件压缩包和文件
- 清理docker
可以根据实际清理掉无用的容器、镜像后,再执行下述指令
# 清理tag为none的镜像
$ docker image prune
# 清理无用的数据卷
$ docker volume prune
- 清理
/vmware/drag_and_drop
文件夹,该文件夹是宿主机与虚拟机间交互后产生缓存的地方,可以删除
# 查找文件夹的完整路径
$ find / -name 'drag_and_drop'
# 删除文件夹
$ rm -rf /home/yov/.cache/vmware/drag_and_drop
第二步:填充空间
#填充空间
$dd if=/dev/zero of=/zero.file bs=2M
#将文件同步到磁盘
sudo sync
#删除填充文件
rm -rf /zero.file
第三步:收缩根目录
$ /usr/bin/vmware-toolbox-cmd disk shrink /
完整执行完上述步骤,基本能减少好几G甚至几十G的空间。