谁在填充我的磁盘?

eff*_*ffe 9 disk-usage

我的主磁盘已完全填满:

root@kodi:/# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            1.9G     0  1.9G   0% /dev
tmpfs           385M   12M  374M   3% /run
/dev/sda1        88G   84G     0 100% /
tmpfs           1.9G  4.0K  1.9G   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sdb1       917G  429G  442G  50% /media/Cloud
/dev/sdd1       917G  813G   58G  94% /media/Tera
cgmfs           100K     0  100K   0% /run/cgmanager/fs
tmpfs           385M     0  385M   0% /run/user/1000
root@kodi:/#
Run Code Online (Sandbox Code Playgroud)

/dev/sda1 是我安装 ubuntu 的主磁盘:

root@kodi:/home/fmf# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda1 during installation
UUID=9fab4895-7ccb-4415-b26d-311a17036cda       /               ext4    errors=remount-ro 0       1

# swap was on /dev/sda5 during installation
UUID=7b158f58-e4c1-4717-aa5f-dbeaa79ab93c       none            swap    sw              0       0

UUID=f9079f52-7661-48ad-9bc4-0d2452be66af       /media/Tera     ext2    defaults,nofail 0       0
UUID=fb1f92ee-54f5-44f8-ba92-544e90e6dfeb       /media/Cloud    ext2    defaults,nofail 0       0

root@kodi:/home/fmf#
Run Code Online (Sandbox Code Playgroud)

做了一些谷歌搜索并找到了一些命令来测试谁是负责人,但我无法弄清楚是谁在填写它:

root@kodi:/# du --exclude=/media -cksh * | sort -hr | head -n 15
du: cannot access 'proc/16360/task/16360/fd/3': No such file or directory
du: cannot access 'proc/16360/task/16360/fdinfo/3': No such file or directory
du: cannot access 'proc/16360/fd/3': No such file or directory
du: cannot access 'proc/16360/fdinfo/3': No such file or directory
1.3T    total
1.3T    media
3.5G    home
3.0G    usr
1010M   var
645M    root
630M    lib
99M     boot
17M     bin
15M     sbin
13M     etc
12M     run
196K    tmp
16K     lost+found
12K     srv
root@kodi:/#
Run Code Online (Sandbox Code Playgroud)

显然没有任何文件或目录大到可以填满我磁盘的 84G。

几天前,我发现由于 .xsession-errors 变得疯狂,磁盘已满。我发现这是 ubuntu 中的一个已知错误,我解决了创建一个 crontab 行,每十分钟删除 .xsession-errors 的问题。事实上,现在我的主目录中没有它了。

请问有什么帮助吗?

Phi*_*ann 19

您的 cronjob 的问题在于.xsession_errors它很可能仍被某些应用程序或系统服务打开,这就是为什么它在删除时将从文件系统表中隐藏的原因,但它仍然在磁盘上并且仍然会向其中写入错误。
所以它会填满磁盘,但现在你看不到它了。

@rinzwind 在他(正确地)建议删除 cronjob 并查找错误时正是针对这种行为。这是正确解决此问题的唯一方法。

作为一种解决方法,您可以.xsession_errors使用这样的 cronjob截断文件:

17 */2 * * *  truncate -cs 0 path/to/.xsession_errors
Run Code Online (Sandbox Code Playgroud)

但在这样做之前,您真的应该尝试修复在中创建这些错误消息的潜在问题 .xsession_errors

  • 旋转与删除具有相同的问题:kodi 不会识别文件已旋转并会继续写入其中,直到您通知它重新打开此文件。(很可能没有这样的事情,您必须重新启动 kodi) (2认同)

Rin*_*ind 10

谁在填充我的磁盘?

既然你这样做...

我发现这是 ubuntu 中的一个已知错误,我解决了创建一个 crontab 行,每十分钟删除一次 .xsession-errors

这个问题是不可能回答的。

请按照以下内容获取我们需要查看的错误:

  • 删除您添加的删除.xsessions_errors.
  • 重新启动,然后从命令行检查.xsessions_errors使用tail -f 100 ~/.xsessions_errors.
  • 当您发现任何重复出现的问题时,将其中的一些复制到您的问题中。
  • 添加 crontab 行,以便您可以使用您的系统。
  • 等待解决问题,然后应用。然后再次删除 crontab 行(.xsessions_errors应始终避免删除文件)。

  • _“当你发现任何重复出现的问题时,将其中的一些复制到你的问题中。”_ 不,那将是一个新的、不同的问题。 (7认同)