不知何故,有东西占用了大约 80GB 的 HDD 空间,但我不知道是什么。这开始成为我的一个主要问题,因为我只有 100GB 可以使用,如果我找到要删除的东西,其他东西就会填满该空间,直到我几乎无法使用计算机。
我尝试运行ncdu -x -q
以尽可能多地清理,它说我的使用量已降至 22G 左右。我对 du 的看法相同,但我想ncdu
使用du
du -x -d1 -h /
4,0K /srv
28K /media
4,0K /mnt
4,0K /lib64
16K /lost+found
3,3G /home
588M /opt
360M /lib
23M /build
9,7M /bin
48M /boot
27M /etc
1,4G /root
4,0K /cdrom
6,9G /usr
16M /sbin
9,0G /var
22G /
如果我运行df
:
df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 2748080 4 2748076 1% /dev
tmpfs 559400 1568 557832 1% /run
/dev/sdc2 109481872 104180864 0 100% /
none 4 0 4 0% /sys/fs/cgroup
none 5120 0 5120 0% /run/lock
none 2796996 688 2796308 1% /run/shm
none 102400 8 102392 1% /run/user
overflow 1024 236 788 24% /tmp
/dev/sdd2 1953382140 1874376664 79005476 96% /media/munhunger/Shaman
/dev/sda1 1953382140 1926088316 27293824 99% /media/munhunger/Holy
/dev/sdb1 2930264060 2930264060 0 100% /media/munhunger/Glory
df -aTh
Filesystem Type Size Used Avail Use% Mounted on
sysfs sysfs 0 0 0 - /sys
proc proc 0 0 0 - /proc
udev devtmpfs 2,7G 4,0K 2,7G 1% /dev
devpts devpts 0 0 0 - /dev/pts
tmpfs tmpfs 547M 1,6M 545M 1% /run
/dev/sdc2 ext4 105G 103G 0 100% /
none tmpfs 4,0K 0 4,0K 0% /sys/fs/cgroup
none fusectl 0 0 0 - /sys/fs/fuse/connections
none debugfs 0 0 0 - /sys/kernel/debug
none securityfs 0 0 0 - /sys/kernel/security
none tmpfs 5,0M 0 5,0M 0% /run/lock
none tmpfs 2,7G 688K 2,7G 1% /run/shm
none tmpfs 100M 8,0K 100M 1% /run/user
none pstore 0 0 0 - /sys/fs/pstore
overflow tmpfs 1,0M 236K 788K 24% /tmp
binfmt_misc binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc
systemd cgroup 0 0 0 - /sys/fs/cgroup/systemd
gvfsd-fuse fuse.gvfsd-fuse 0,0K 0,0K 0,0K - /run/user/1000/gvfs
/dev/sdd2 fuseblk 1,9T 1,8T 76G 96% /media/munhunger/Shaman
/dev/sda1 fuseblk 1,9T 1,8T 27G 99% /media/munhunger/Holy
/dev/sdb1 fuseblk 2,8T 2,8T 0 100% /media/munhunger/Glory
使用 sh 标志运行 du(和 x,因为我不想扫描已安装的磁盘)
du -xsh /
22G /
可能是什么原因造成的?我可以采取什么措施来缓解这个问题?在 Linux Mint 17 上运行uname -a
:3.16.0-38-generic #52~14.04.1-Ubuntu
从运行lsof | grep -Fw deleted
:
lsof | grep -Fw deleted
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
答案1
与 Jesse_b 的答案非常相似,多年来对我来说效果很好的就是:
df -xk / | sort -n | tail -40
-x
指示df
它的选项不是遍历其他挂载点。使用-k
将所有大小保留在 1024 字节块中。输出已排序,我倾向于查看最后 40 行,但这纯粹是任意的。这应该将您指向包含占用最多空间的文件的目录。如果您希望输出中包含文件,请将命令更改df
为df -axk
before pipeline to sort and tail。
答案2
您可以尝试此操作来查找大文件可能所在的位置,但请注意此命令可能运行很长时间,具体取决于系统中的文件数量:
du -k / | sort -nr | head -n25
这是我的结果:
[root@JBCLAMP001 ~]# du -x -d1 -h /
512 /boot
512 /system
81M /var
2.9M /root
1.0K /opt
512 /srv
512 /mnt
512 /media
3.0K /tmp
20M /home
15M /etc
5.0K /native
981M /usr
1.1G /
[root@JBCLAMP001 ~]# du -sh /
du: cannot access ‘/proc/45795/task/45795/fd/3’: No such file or directory
du: cannot access ‘/proc/45795/fd/3’: No such file or directory
du: cannot access ‘/native/proc/45795/fd/3’: No such file or directory
du: cannot access ‘/native/proc/45795/path/3’: No such file or directory
8.7G /
[root@JBCLAMP001 ~]# du -xsh /
1.1G /
正如您所看到的,du -x -d1 -h /
并没有找到所有文件。