ubuntu 16.04虚拟机上的大文件

ubuntu 16.04虚拟机上的大文件

当我执行时sudo du -h --max-depth=1我得到了这个结果:

在此处输入图片描述

13g 占据了虚拟机的整个空间,但是当我执行ls -la文件大小时,总大小只有 96k。

我不确定发生了什么,但是虚拟机无法使用。

答案1

正在使用大量空间,/var这可能与日志文件有关。无论出于何种原因,systemd 喜欢使用大量磁盘空间来存储日志文件中几乎所有的历史记录。您可以使用以下方法清理它:

sudo journalctl --vacuum-size=50M

这将删除所有旧日志文件,仅剩下 50MB 的日志,这可能足以满足大多数基本日志记录需求。您可以通过创建/修改文件/etc/systemd/journald.conf并输入以下内容将其设为永久设置:

SystemMaxUse=50M

答案2

当您想要找出系统上的大文件在哪里时,您必须告诉du它总结每个目录的磁盘使用情况。

$sudo du -sh /*
13M     /bin
184M    /boot
4,0K    /cdrom
4,0M    /core
4,0K    /dev
41M     /etc
63G     /home
--- snip

从这里开始,你最好省略,-h而是让输出按数字排序。在我的例子中,我会进入/home(最大的目录)。

sudo du -s /home/* | sort -n | head -3

-n按数字排序而不是按字母顺序排序,head -3仅显示前三个条目)

现在我再次选择最大的目录等等,直到找到罪魁祸首。

$sudo du -s /home/* | sort -nr |head -3  
61121744        /home/g
4306660 /home/andrea
37032   /home/test

$sudo du -s /home/g/* | sort -nr |head -3
10054692        /home/g/temp
8006620 /home/g/Downloads
5056024 /home/g/Documents

如果你有“隐藏”目录(很可能在主目录中),你还可以使用稍微不同的命令

$sudo du -s /home/g/.* | sort -nr |head -3
12754648        /home/g/.vagrant.d
4400684 /home/g/.local
3311584 /home/g/.cache

相关内容