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

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

之前我做了一个大的目录到/root创build了大约100个文件,然后我使用rm /root/*删除了这些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 -i

 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 

有人可以在这里提出一些build议,因为我没有想法吗?

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

Shane Madden的命令会让你find这样的文件:

 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 

一旦你发现哪个进程持有大量被删除的文件或者大的被删除的文件被打开,重新启动它来清除这种情况。