我有一个磁盘驱动器,其中inode使用率为100%(使用df -i命令)。 但是在大量删除文件后,使用率仍然是100%。

那么正确的做法是什么呢?

一个磁盘空间使用较少的磁盘驱动器怎么可能有 更高的Inode使用率比更高的磁盘驱动器磁盘空间使用率?

它是可能的,如果我压缩大量的文件,会减少使用的索引节点数?


当前回答

eaccelerator可能会导致这个问题,因为它将PHP编译成块…我在一个负载很重的网站上使用亚马逊AWS服务器时遇到过这个问题。如果您仍然有问题,可以通过删除/var/cache/eaccelerator中的eaccelerator缓存来释放Inodes。

rm -rf /var/cache/eaccelerator/*

(或者你的缓存目录)

其他回答

eaccelerator可能会导致这个问题,因为它将PHP编译成块…我在一个负载很重的网站上使用亚马逊AWS服务器时遇到过这个问题。如果您仍然有问题,可以通过删除/var/cache/eaccelerator中的eaccelerator缓存来释放Inodes。

rm -rf /var/cache/eaccelerator/*

(或者你的缓存目录)

执行sudo apt-get autoremove命令 在某些情况下,它是有效的。如果存在以前未使用的头数据,则将清除这些数据。

我的解决方案:

尝试查找这是否是一个inodes问题:

df -ih

尝试查找索引节点数较大的根文件夹:

for i in /*; do echo $i; find $i |wc -l; done

试着找到特定的文件夹:

for i in /src/*; do echo $i; find $i |wc -l; done

如果这是linux头文件,尝试删除最老的文件:

sudo apt-get autoremove linux-headers-3.13.0-24

就我个人而言,我把它们移动到一个挂载文件夹(因为对我来说,上一个命令失败了),并安装了最新的:

sudo apt-get autoremove -f

这解决了我的问题。

在树莓派上,我在/var/cache/fontconfig目录下有大量文件时遇到了问题。取出它花了一个多小时。当然还有rm -rf *。cache* raise参数列表过长错误。我用的是下面的

find . -name '*.cache*' | xargs rm -f

如果您非常不幸,您已经使用了大约100%的inode,并且无法创建scipt。 你可以用df -ih来检验。

那么这个bash命令可以帮助您:

sudo find . -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -n

是的,这将花费时间,但您可以找到拥有最多文件的目录。