私の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

/したがって、ファイルは275,000個のinodeだけを占めるように見えますが、df529,000個が使用されていると報告します。

どうすればいいですか?

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

答え1

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

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

関連情報