为什么我的 $HOME 中的可用空间减少了?

为什么我的 $HOME 中的可用空间减少了?

我的操作系统是 Ubuntu 12.04。系统监视器显示,我的 $HOME 的“空闲”空间为 1.6GiB,但“可用”空间为 222.7 MiB,并且从昨天的 750 MiB 左右开始缓慢减少。我不知道自己正在向 $HOME 添加更多数据。

所以我想知道

  • 如何找出导致该问题的原因,例如是否有某个正在运行的应用程序正在使用 $HOME 的空间作为临时存储位置,因此可以释放?

  • 如何找出哪个目录或文件正在增加其大小?


致伊格纳西奥

~/.xsession-errors只有 21330862 字节。它的最后一些内容是

> ** (zeitgeist-datahub:2116): WARNING **: recent-manager-provider.vala:133: Desktop file for
> "file:///windows-d/academic%20discipline/study%20objects/areas/formal%20systems/logic/generalize%20to%20when%20inference%20is%20uncertain/uncertainlize%20deductive%20logic/statistics/general/Kalbfleisch/vol2/all.djvu"
> was not found, exec: plugin-container, mime_type: image/vnd.djvu
> 
> ** (zeitgeist-datahub:2116): WARNING **: recent-manager-provider.vala:133: Desktop file for
> "file:///windows-d/academic%20discipline/study%20objects/areas/formal%20systems/logic/generalize%20to%20when%20inference%20is%20uncertain/uncertainlize%20deductive%20logic/statistics/general/Montgomery/prob%20and%20stat%20in%20Eng/4ed.pdf"
> was not found, exec: plugin-container, mime_type: application/pdf

致卡尔森

$ df -kh
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda7        21G   15G  4.8G  76% /
udev            949M   12K  949M   1% /dev
tmpfs           383M  988K  382M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            956M  184K  956M   1% /run/shm
/dev/sda2        71G   47G   24G  68% /windows-c
/dev/sda3       110G  101G  9.9G  92% /windows-d
/dev/sda6        27G   26G  223M 100% /home
/dev/sda1       1.2G  658M  543M  55% /media/SYSTEM_DRV

答案1

你必须运用一些科学知识来解决这个问题。由于/home位于单独的文件系统上,您应该开始运行检查空间的实际位置:

cd $HOME
cd ..
sudo du -skh .[!.]* *

这将为您提供文件系统的最大用户。然后深入了解系统的每个用户并重复以下操作:

sudo du -skh .[!.]* *

最终将为您提供使用量最大的文件或底层目录,可能需要清理它们。

此外,有时当您运行系统时,您可能会删除仍然打开的日志文件,这将创建“幽灵”文件,这些文件将在进程启动和运行时占用空间。但一旦它被杀死,空间就会被释放,你可以使用:

lsof | sort -n -k7

您可以使用lsof选项来确保格式正确并查看最大的文件。

答案2

确保没有显示已删除的lsof -s | grep deleted内容。/home

如果是,只需根据lsof -s输出(第二列是 pid)杀死该 pid,然后根据给定的 inode(inode 是 的第 8 列lsof -s)删除该文件find . -inum inode_number -exec rm -i {} \;

如果您正在记录某些内容或在文件上运行 tail -f 然后将其删除,则可能会发生这种情况。

答案3

不久前,我发现我的一个 GUI 应用程序生成了千兆字节的错误并将其输出到 stderr,而在 X 下,该错误会转到~/.xsession-errors.对其进行测试tail -f,看看它是否会爆炸。

答案4

虽然 du 和朋友们在命令行上很方便,但有时使用 GUI 应用程序来轻松可视化问题也很有用。

我建议你看一下GNOME 磁盘使用分析器了解哪里消耗了最多的空间。当然,这假设您正在运行 GNOME 桌面(unity 也可以正常工作)。

如果您处于统一状态,请打开搜索镜头并开始输入“磁盘”,该实用程序应该会弹出。

相关内容