我正在使用Vagrant和VirtualBox作为我的开发环境,但是磁盘空间无缘无故地增长。当我第一次创建并配置该虚拟机时,磁盘大小约为4GB,但在使用3个月后,即使我没有安装任何新软件,磁盘大小也达到了18GB。我无法解释这些G的空间都被用在了什么地方。
您有任何想法或解决方案吗?拥有多个虚拟机只会占用大量磁盘空间而无意义。
谢谢!
您有任何想法或解决方案吗?拥有多个虚拟机只会占用大量磁盘空间而无意义。
谢谢!
首先,您需要检查虚拟机中实际占用了多少空间。VirtualBox(以及VMWare)使用动态尺寸分配,因此它们会在需要时增加文件大小,但除非您明确要求,否则它们永远不会释放空间。
运行 df -m
命令检查每个分区实际使用的空间量,如果您认为某个分区使用了过多的空间,请进入挂载点并清理一些文件。
节省虚拟机上未分配块的空间
$ dd if=/dev/zero of=/EMPTY bs=1M || echo "dd exit code $? is suppressed"
$ rm -f /EMPTY
现在回到您的主机,您需要申请免费空间
$ VBoxManage modifyhd <name>.vdi --compact
此选项仅适用于 vdi
格式,如果您使用的是 vmdk
格式,则需要先将其转换为 vdi
格式。
$ VBoxManage clonehd <name>.vmdk <name>.vdi --format vdi
$ VBoxManage modifyhd <name>.vdi --compact
$ rm <name>.vmdk
$ VBoxManage clonehd <name>.vdi <name>.vmdk --format vmdk