系统驱动器 (1TB) 已使用 82%?所有“我的”文件都在单独的硬盘上

系统驱动器 (1TB) 已使用 82%?所有“我的”文件都在单独的硬盘上

这是一台台式机,配有 1TB SSD 用于操作系统 Xubuntu 20.04.6,以及几台 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; sudo du -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)

答案1

最后,在 Ubuntuforums 上找到了这个:

du-估计文件空间使用情况(检查您的文件夹)

此命令将显示给定文件夹上挂载的文件系统使用了多少空间。du 的一个缺点是它仅报告有关挂载文件的信息。此外,如果将设备安装到已包含数据的文件夹,则结果中不会包含底层数据大小。这意味着,如果 /media/data 包含 40GB 的数据,但随后将 20GB 的分区安装到 /media/data,则结果将仅显示最后安装的设备的 20GB。

(强调添加)

就我而言,我的内部数据硬盘(不是有“问题”的系统固态硬盘)备份到外部便携式驱动器。外部备份安装到 /mnt/backup/(在 fstab 中指定)。我怀疑备份脚本一定是在备份驱动器未安装时运行的,所以它将我的数据驱动器的内容写入系统磁盘!显然du -x忽略了已安装的数据,但也不包含底层数据。

所以解决方案很简单。

sudo umount -a

删除 /mnt/backup/ 的内容

sudo mount -a

现在我有了这个:

403352 items, totalling 25.7 GiB (27,570,012,200 bytes)
(some contents unreadable)
841.5 GiB of 915.3 GiB free (8% used)

感谢所有回复并给我提供搜索和学习内容指点的人。

答案2

根据您提供的信息,/dev/nvme0n1p2实际上已满 82%。

运行命令cd / ; sudo du -hxd 1来找出占用了这么多空间的原因。

h选项使其采用人类可读的格式。

x选项忽略 上的所有其他已安装的文件系统/

d 1选项将目录深度设置为 1,仅显示第一级目录,使其更易于阅读。

答案3

可能是,您的节点(存储扇区)的块大小很大。在安装 Linux 时,您可以选择您喜欢的文件系统和块大小。
因此,您必须考虑要用 Linux 计算机做什么:

  1. 您是否想要一个文件服务器,那么如果您有多个/大量文件,最好使用较小的块大小,或者
  2. 您有一个游戏桌面,那么如果您拥有最少数量的文件和大量的数据信息,那么最好有一个更大的块大小。

例如:如果您有小文件,大小只有 512 字节,但您在文件系统设置中选择了 1024 字节的块大小,则文件系统会将 512 字节存储到 1024 块中,而块的其余部分为空,仅供整个文件使用。因此,您有 512 个未使用空间的间隙。然后,下一个文件是 10 字节,那么您的间隙就是 1014 字节。依此类推……
您拥有的文件越多,块的间隙就越多……

因此,在安装 Linux 或其他操作系统之前,您必须制作思维导图。

我无法给出最终的提示或暗示,因为这是你的决定,我不会,毕竟人们会说:“我,我已经告诉过这个和那个......”我希望你能理解我的意见。

相关内容