Ubuntu 服务器无法写入“”(设备上没有剩余空间)

Ubuntu 服务器无法写入“”(设备上没有剩余空间)

我正在运行 Ubuntu 服务器,自从今天晚上重新启动它以来,我没有收到错误消息Cannot write to '' (No space left on device)

之前我确实解压了一个大目录,其中/root创建了大约 100 个文件,然后我使用 删除了这些文件rm /root/*。我在执行此操作之前确实检查过ls,其中的文件/root正是我想要删除的文件。我在这里做错了什么吗?

以下是一些输出:

DF-H

root@localhost:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda        47G   47G     0 100% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
devtmpfs        494M  8.0K  494M   1% /dev
none             99M  192K   99M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            495M     0  495M   0% /run/shm
none            100M     0  100M   0% /run/user

DF-我

root@localhost:~# df -i
Filesystem      Inodes IUsed   IFree IUse% Mounted on
/dev/xvda      3129344 52147 3077197    2% /
none            126527     2  126525    1% /sys/fs/cgroup
devtmpfs        126232  1410  124822    2% /dev
none            126527   792  125735    1% /run
none            126527     4  126523    1% /run/lock
none            126527     1  126526    1% /run/shm
none            126527     2  126525    1% /run/user

du-Pshx/*2>/dev/null

root@localhost:~# du -Pshx /* 2>/dev/null
9.1M    /bin
4.0K    /boot
4.0K    /dev
6.8M    /etc
31M     /home
29M     /lib
4.0K    /lib64
16K     /lost+found
8.0K    /media
4.0K    /mnt
4.0K    /opt
0       /proc
76K     /root
192K    /run
7.6M    /sbin
4.0K    /srv
0       /sys
12K     /tmp
611M    /usr
541M    /var

由于我没有主意,有人可以在这里提出一些建议吗?

答案1

删除文件的魔力。只要应用程序打开了文件,它就不会被真正删除。当这种情况发生时,罪魁祸首通常是守护进程,它保存着一个日志文件或临时打开的文件,而你(或 logrotate)早已删除了它。

Shane Madden 给出的命令将允许您找到这样的文件:

find /proc/*/fd -ls | grep '(deleted)'

以下是我的机器上的输出摘录:

348233    0 lrwx------   1 dennis   dennis         64 jun 22 16:15 /proc/5623/fd/25 -> /tmp/vte1D81HX\ (deleted)
348238    0 lrwx------   1 dennis   dennis         64 jun 22 16:15 /proc/5623/fd/30 -> /tmp/vteYAG3HX\ (deleted)
348239    0 lrwx------   1 dennis   dennis         64 jun 22 16:15 /proc/5623/fd/31 -> /tmp/vteP7E3HX\ (deleted)
348240    0 lrwx------   1 dennis   dennis         64 jun 22 16:15 /proc/5623/fd/32 -> /tmp/vte4D91HX\ (deleted)
348243    0 lrwx------   1 dennis   dennis         64 jun 22 16:15 /proc/5623/fd/35 -> /tmp/vteU0VWHX\ (deleted)

因此,进程 5623 打开了一些临时文件。让我们找出它们是什么:

$ cat /proc/5623/cmdline | tr '\0' ' ' ; echo
/usr/bin/python /usr/bin/terminator 

一旦您发现哪个进程打开了大量已删除的文件或大型已删除文件,请重新启动它以清除该情况。

相关内容