
今日、私の 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 しか占めていないように見えますが、df
529k が使用されていると報告されています。
どうしてそうなるのでしょうか?
(プロセスによってまだロックされている inode を解放するためにシステムを再起動しましたが、使用されている inode の量はまったく変わりませんでした。)
答え1
の代わりにバインドマウントを使用します-xdev
。また、ディレクトリも inode を使用します。
mkdir /mnt/somewhere
mount -o bind / /mnt/somewhere
find /mnt/somewhere -printf '%i\n' | sort -u | wc -l