当前位置: 首页>>技术教程>>正文


除了文件系统之外,是什么在我的磁盘上占用了这么多空间?

问题描述

我的计算机中只有一个磁盘,即 80 GB SSD。它被格式化为单个 ext4 分区(无交换),所有常用文件夹都安装在上面(我在外部媒体上保存了大量数据,但 /home 和所有其余的都在 SSD 上)。

今天我启动它,我收到一条消息,驱动器已满。我打开磁盘使用分析器来查看占用空间的内容。它坚持使用 67.8 GB 的磁盘,而 /占用了 36.4 GB。这导致了一个问题,如果不在文件系统上,丢失的 30 GB 在哪里?!

为了进行比较,我将 Nautilus 中列出的所有可读文件夹的所有大小添加为 /的子文件夹(包括隐藏文件夹)。我有 20.9 GB。垃圾是不可读的,但我知道它有 16.2 GB,所以总和是 36.1 GB,与 Disk Usage Analyzer 报告的大致相同。有一些系统文件夹是不可读的,比如 proc,但我怀疑它们加起来是 30 GB – 否则不可能在小磁盘上安装 Ubuntu,而且我已经看到它在 2.5 GB 上运行。我认为它们一定是我的计算和磁盘使用分析器的报告之间的 0.3 GB 差异。

所以我想知道,是什么消耗了这 30 GB 的空间,我如何获得它来释放它们?

编辑 CYREX 问题的答案

  1. 从 Ubuntu 10.10 64 位 live CD 启动(与我的系统相同)。

    fsck 结果:

    root@ubuntu:~# fsck /dev/sda1
    fsck from util-linux-ng 2.17.2
    e2fsck 1.41.12 (17-May-2010)
    /dev/sda1: clean, 265956/4890624 files, 18073343/19537408 blocks
    
  2. 从 SSD 启动。清空垃圾箱,那里的 16 GB 现在是免费的。仍然缺少 30 GB。

  3. 我没有足够的经验知道在日志中什么是奇怪的。这是自上次启动以来我的消息日志和系统日志。也许你可以在其中找到一些东西:

  4. 这里真的很奇怪。我插入了一个外部 500 GB 硬盘。磁盘使用分析器高估了可用空间,然后显示空间丢失(使用了 76 GB,但文件夹中只有 24 个)。

再次从 LiveCD 启动,从中启动磁盘使用分析器,并获得与安装的 Ubuntu 相同的结果,在 1-2 GB 内。

编辑对 CodeMonk 的回答:

那将是一个不错的解决方案,但分区实际上是 80 GB – 我的意思是 74 GB + 营销 “error”,无论如何整个磁盘都已格式化。它还显示使用了超过 50 GB,那么如果文件和文件夹中没有,那么 30 GB 在哪里呢?

GParted 还会报告外部 HDD 的正确大小。

最佳回答

如果您以普通用户身份使用磁盘分析器,则可能存在一些您无法访问或查看的文件。您可以尝试以超级用户权限启动它。打开终端,或按 ALT+F2 并键入:

gksudo baobab

如果您想知道,Baobab 是磁盘分析器的怪异名称。也许它现在可以告诉你那些丢失的兆字节在哪里。

次佳回答

我解决了它 – 感谢您的所有建议,特别是 Javier Riveira,who suggested 使用 sudo 权限运行磁盘分析器的建议(我不知道这会对结果产生影响)。

我有 Crashplan,它正在对一些外部驱动器进行备份。所以有一个备份集到 Milly,另一个到 Sto_Lat,每 15 分钟一次(这些是外部驱动器的名称)。当我在没有这些驱动器的情况下启动计算机时,Crashplan 在 /media/Milly/media/Sto_Lat 下找不到任何文件夹,因此它刚刚创建了它们并已将备份写入它们。

出于某种原因,磁盘分析器在没有 sudo 的情况下启动时不会显示这些文件夹。 Nautilus 显示了它们,但列出了 /media 的大小为 16 KB,而实际上它是 30 GB。

我只有在卸下所有外部驱动器(包括 Milly 和 Sto_Lat)并启动 gksudo baobab 时才注意到这一点。然后我看到我的外部驱动器应该没有 – 但不是全部,而是只有备份目标 – 并意识到这些不是已安装的驱动器,而是由 Crashplan 创建的同名文件夹。当我以与现有文件夹相同的名称安装驱动器时,一定会发生一些奇怪的事情,我想知道为什么我没有收到错误消息或其他东西……

顺便说一句,这也解决了为什么 Disk Analyzer 将 Milly 的大小显示为 530 GB 而不是 500 GB – 这些是 “missing” 30 GB,它将文件夹和实际驱动器一起计算。

现在我只需要一种在不破坏 Crashplan 或不进行备份的情况下删除文件夹的方法。

第三种回答

您可以使用磁盘使用分析器扫描您的目录并查看您的空间在文件系统上的去向。

至于看不到 30GB 的磁盘,打开 GParted 看看磁盘空间是如何分配的。可能是您的分区方案不是您认为的那样。

第四种回答

默认情况下,为 root 用户保留 10% 的磁盘空间。您可以使用 sudo tune2fs -m %percentage %device 更改它。在您的情况下,将 sudo tune2fs -m 1 /dev/cciss/c0d0p1 用于将保留减少到 1%。您可以将其设置为您喜欢的任何其他数字,但我不推荐 0%。

第五种回答

您可以使用 du 来显示:

cd /
sudo du -hcsx .[!.]* * | sort -rh | head

或者

sudo du -hcsx * | sort -rh | head

这将显示使用最多空间的内容。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/12724.html,未经允许,请勿转载。