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

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

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

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


当前回答

如前所述,如果有很多小文件,文件系统可能会耗尽inode。我提供了一些方法来查找这里包含大多数文件的目录。

其他回答

你可以看到这个信息

for i in /var/run/*;do echo -n "$i "; find $i| wc -l;done | column -t

在一次垃圾邮件攻击后,我们在一个HostGator帐户(他对所有主机都设置了inode限制)上遇到过这种情况。它在/root/.cpanel/comet中留下了大量队列记录。如果发生这种情况,你发现你没有空闲的inode,你可以通过shell运行这个cpanel实用程序:

/usr/local/cpanel/bin/purge_dead_comet_files

对于大量的文件,可以使用RSYNC删除

rsync -a --delete blanktest/ test/

创建空白测试文件夹,其中包含0个文件,命令将与大量文件同步测试文件夹(我已经使用这种方法删除了近500万个文件)。

感谢http://www.slashroot.in/which-is-the-fastest-method-to-delete-files-in-linux

在上面的一个回答中,有人建议会话是inode耗尽的原因,在我们的例子中正是如此。为了补充这个答案,我建议检查php.ini文件并确保session。Gc_probability = 1也是session。gc_除数= 1000和 会话。Gc_maxlifetime = 1440。在我们的案例会议上。Gc_probability等于0,导致了这个问题。

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

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

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

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