我最近遇到了一些奇怪的问题。我将这台机器用作 Web 服务器。当我尝试在目录中写入文件时,它说没有更多空间。我删除了一些文件,它工作了一段时间。几分钟后,我再次遇到问题:
root@web1:/home# mkdir test
mkdir: cannot create directory ‘test’: No space left on device
root@web1:/home# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/web1-root 43G 4.5G 37G 11% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 3.9G 4.0K 3.9G 1% /dev
tmpfs 798M 828K 798M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 3.9G 0 3.9G 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/sda1 228M 91M 126M 42% /boot
/dev/sdb1 197G 75G 113G 40% /home
df -i
报告使用率为 100% 的分区:
root@web1:/home# df -i | grep 100%
/dev/sdb1 13107200 13107200 0 100% /home
答案1
就像@Rinzwind 和@heemayl 建议的那样,我在 google 上搜索时用完了 inode,我找到了答案...... http://www.ivankuznetsov.com/2010/02/no-space-left-on-device-running-out-of-inodes.html
这是解决方案
检查可用的 Inode
$ df -i
查找哪个目录有更多 inode
$ for i in /*; do echo $i; find $i |wc -l; done
递归重复搜索,直到找到问题
$ for i in /DIRWITHHIGHINODES/*; do echo $i; find $i |wc -l; done
一旦找到嫌疑人,只需删除文件即可
$ sudo rm -rf /home/bad_user/directory_with_lots_of_empty_files
大功告成。再次使用 df -i 命令检查结果。您应该看到类似以下内容:
答案2
我看到输出显示 inode 使用率很高,这似乎是最好的答案线程。它非常广泛。
https://unix.stackexchange.com/questions/117093/find-where-inodes-are-being-used