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

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

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

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


当前回答

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

rsync -a --delete blanktest/ test/

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

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

其他回答

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

rsync -a --delete blanktest/ test/

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

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

你可以看到这个信息

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

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

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

迟到的回答: 对我来说,是我的会话文件

/var/lib/php/sessions

使用Inodes的。 我甚至无法打开crontab或创建新目录,更不用说触发删除操作了。 因为我使用PHP,所以在本指南中,我复制了示例1中的代码,并设置了cronjob来执行这部分代码。

<?php
// Note: This script should be executed by the same user of web server 
process.

// Need active session to initialize session data storage access.
session_start();

// Executes GC immediately
session_gc();

// Clean up session ID created by session_gc()
session_destroy();
?>

如果您想知道我是如何打开crontab的,那么好吧,我通过CLI手动删除了一些会话。

希望这能有所帮助!

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