
Сегодня у меня закончились иноды на одном из моих VPS.
Я удалил кучу лишних мелких файлов, освободив достаточно инодов, чтобы система снова заработала:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/simfs 586K 529K 58K 91% /
Я также составил короткую команду, которая выдает мне количество используемых инодов (по сути, это список всех файлов с номерами их инодов, отфильтровывание дубликатов и подсчет строк результата):
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 тыс. инодов, но df
сообщают об использовании 529 тыс.
Как это может быть?
(Я даже перезапустил систему, чтобы освободить все иноды, которые все еще были заблокированы процессами, но это вообще не изменило количество используемых инодов.)
решение1
Используйте монтирование bind вместо -xdev
. Кроме того, каталоги также используют inodes.
mkdir /mnt/somewhere
mount -o bind / /mnt/somewhere
find /mnt/somewhere -printf '%i\n' | sort -u | wc -l