解决VMware中Ubuntu磁盘占用过大的问题

一直在 Windows VMware 中安装的 Ubuntu 虚拟机中做开发,有一次在将 window 的一个 2GB 的大文件拖入虚拟机时,虚拟机报错说是磁盘空间不足。

看了一下本地的磁盘空间,D 盘原本还剩 100GB 左右,结果现在只剩 20MB 了且已经飘红了!

再看虚拟机设置,当初只分配了 132GB 的空间:
在这里插入图片描述
结果现在显示占有 200 多 GB:
在这里插入图片描述
但进入虚拟机查看磁盘使用情况,却显示:

dfl@webdev:~$ df -hl
文件系统        容量  已用  可用 已用% 挂载点
tmpfs           980M  2.2M  978M    1% /run
/dev/sda3       129G   50G   73G   41% /
tmpfs           4.8G  102M  4.7G    3% /dev/shm
tmpfs           5.0M  4.0K  5.0M    1% /run/lock
/dev/sda2       512M  5.3M  507M    2% /boot/efi
tmpfs           980M  4.7M  975M    1% /run/user/1000
/dev/sr0        3.6G  3.6G     0  100% /media/dfl/Ubuntu 22.04.1 LTS amd64

虚拟机磁盘空间与实际占用空间大小相差很大!

1,删除 VMware tools 工具的缓存:

在这里插入图片描述
删除 .cache/vmware/drag_and_drop 目录下的内容,在 Ubuntu 内腾出了 12GB 的空间:

dfl@webdev:~$ df -hl
文件系统        容量  已用  可用 已用% 挂载点
tmpfs           980M  2.2M  978M    1% /run
/dev/sda3       129G   38G   85G   31% /
tmpfs           4.8G   98M  4.7G    2% /dev/shm
tmpfs           5.0M  4.0K  5.0M    1% /run/lock
/dev/sda2       512M  5.3M  507M    2% /boot/efi
tmpfs           980M  4.7M  975M    1% /run/user/1000
/dev/sr0        3.6G  3.6G     0  100% /media/dfl/Ubuntu 22.04.1 LTS amd64

2,整理虚拟机磁盘碎片:

在这里插入图片描述
直接在 Windows 腾出 20GB 的空间。

3,删除不再用的虚拟机快照。

我删了6个快照,腾出了 70GB 的空间。

4,导出导入 OVF

如果上面三个步骤的清理效果不好的话,可尝试将当前虚拟机导出为 OVF:

  • 按照提示,选择一个空间够大的分区来保存。我虚拟机总共大小223GB,导出的 OVF 为62GB。
  • 注意,这种方法不会保留任何快照,只保留虚拟机最新状态。

在这里插入图片描述
导出这么几个东西:
在这里插入图片描述
然后删除原来虚拟机安装目录下的所有内容,再在VMware中导入刚刚导出的 OCF:
在这里插入图片描述
然后按照提示确定虚拟机名称以及安装位置,最后再删掉导出结果中的 .vmdk 文件和 .iso 文件就行。

这一操作直接减少了 80GB 物理空间占用。