すべての inode はどこに消えたのでしょうか?

すべての inode はどこに消えたのでしょうか?

今日、私の VPS の 1 つで inode が不足しました。
不要な小さなファイルを大量に削除し、システムを再び稼働させるのに十分な inode を解放しました。

Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/simfs       586K  529K   58K   91% /

また、使用されている inode の数を取得するための短いコマンドも作成しました (基本的には、すべてのファイルを inode 番号とともに一覧表示し、重複を除外して結果の行数をカウントします)。

sudo find / -xdev -type f -printf '%i~%P\n' > files.txt
<files.txt | sort -u -t'~' -k1,1 > inodes.txt
wc -l files.txt inodes.txt
1513608 files.txt  
275320 inodes.txt

したがって、ファイルは/275k の inode しか占めていないように見えますが、df529k が使用されていると報告されています。

どうしてそうなるのでしょうか?

(プロセスによってまだロックされている inode を解放するためにシステムを再起動しましたが、使用されている inode の量はまったく変わりませんでした。)

答え1

の代わりにバインドマウントを使用します-xdev。また、ディレクトリも inode を使用します。

mkdir /mnt/somewhere
mount -o bind / /mnt/somewhere
find /mnt/somewhere -printf '%i\n' | sort -u | wc -l

関連情報