这是一个桌面系统,配有用于操作系统 Xubuntu 20.04.6 的 1TB SSD,以及用于存储我所有文件的多个 HDD。所以操作系统不应该占用那么多空间。但 df 的输出是:
Filesystem 1K-blocks Used Available Use% Mounted on
udev 16332704 0 16332704 0% /dev
tmpfs 3284264 3384 3280880 1% /run
/dev/nvme0n1p2 959786032 740380052 170577772 82% /
显然,还有更多行,但 /dev/nvme 行是问题所在。我一辈子都找不到是什么占据了所有的空间。“home”文件夹大约有 6GB。
我对“proc”目录表示怀疑。Nautilus 称其拥有数万个文件,总计 128TB。我想不是。这是 cd /proc 的输出;须藤杜-hs
du: cannot read directory './3032/task/3032/net': Invalid argument
du: cannot read directory './3032/net': Invalid argument
du: cannot read directory './3288/task/3288/net': Invalid argument
du: cannot read directory './3288/net': Invalid argument
du: cannot access './6606/task/6606/fd/3': No such file or directory
du: cannot access './6606/task/6606/fdinfo/3': No such file or directory
du: cannot access './6606/fd/4': No such file or directory
du: cannot access './6606/fdinfo/4': No such file or directory
0
我在“/”下的所有其他目录上使用了“du -hs”,它们加起来约为 55GB。还有一个 2GB 的交换文件。那么我如何找到什么东西耗尽了我所有的 SSD 空间呢?
更新:这是输出cd / ; sudo du -hxd 1
j@puter:/$ cd / ; sudo du -hxd 1
11M ./root
18M ./bin
20M ./sbin
4.0K ./mnt
5.4G ./usr
16K ./lost+found
184K ./tmp
532M ./opt
248M ./boot
84K ./snap
12G ./var
6.4G ./home
4.0K ./lib64
8.0K ./srv
1.5G ./lib
4.0K ./cdrom
14M ./etc
8.0K ./media
28G .
j@puter:/$
更新:从实时 USB 启动,运行 fsck
xubuntu@xubuntu:~$ sudo fsck -f /dev/nvme0n1p2
fsck from util-linux 2.37.2
e2fsck 1.46.5 (30-Dec-2021)
Pass 1: Checking inodes, blocks, and sizes
Inode 34099073 extent tree (at level 1) could be narrower. Optimize<y>? yes
Inode 34344578 extent tree (at level 1) could be shorter. Optimize<y>? yes
Pass 1E: Optimizing extent trees
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/nvme0n1p2: ***** FILE SYSTEM WAS MODIFIED *****
/dev/nvme0n1p2: 514456/61022208 files (4.6% non-contiguous), 189197520/244059136 blocks
xubuntu@xubuntu:~$
更新: ncdu
证实了du
我所说的:
Total disk usage: 27.4 GiB Apparent size: 27.2 GiB Items: 402910
当我查看 GUI 中的“属性”时,它说
401685 items, totalling 26.1 GiB (28,044,956,192 bytes)
(some contents unreadable)
162.7 GiB of 915.3 GiB free (82% used)
最后在Ubuntu论坛上找到了这个:
(强调已添加)
就我而言,我的内部数据 HDD(不是有“问题”的系统 SSD)被备份到外部便携式驱动器。外部备份安装到 /mnt/backup/(在 fstab 中指定)。我怀疑备份脚本一定是在未安装备份驱动器时运行的,因此它将我的数据驱动器的内容写入了系统磁盘!显然
du -x
忽略了挂载的数据,但也不包括底层数据。所以解决方案很简单。
sudo umount -a
删除/mnt/backup/的内容
sudo mount -a
现在我有这个:
感谢所有回复并为我提供搜索和学习知识的人。
根据您提供的信息,
/dev/nvme0n1p2
实际上已满82%。运行命令
cd / ; sudo du -hxd 1
来找出是什么占用了这么多空间。该
h
选项使其采用人类可读的格式。该
x
选项忽略 上所有其他已安装的文件系统/
。该
d 1
选项将目录深度设置为1,仅显示第一级目录,以便于阅读。可能是,您的节点(存储扇区)具有巨大的块大小。在安装 Linux 时,您可以选择您最喜欢的文件系统和块的大小。
因此,您必须考虑您想用 Linux 计算机做什么:
例如:如果您有小文件,大小仅为 512 字节,但您在文件系统设置时选择了 1024 字节的块大小,则文件系统会将 512 字节存储到 1024 块中,块的其余部分是空,并且仅为整个文件保留。因此,您有 512 个未使用空间的间隙。那么,下一个文件是 10 字节,那么你就有 1014 字节的间隙。等等,等等...
对于您拥有的更多文件,对于更多块可能有间隙...
因此,在安装 Linux 或其他操作系统之前,您必须制作思维导图。
我不能给出最终的提示或暗示,因为这是你的决定,而我不会,毕竟人们说:“我,我已经告诉过这个那个……”我希望你能理解我的意见。