Use uma montagem de ligação em vez de -xdev
. Além disso, os diretórios usam inodes também.
mkdir /mnt/somewhere
mount -o bind / /mnt/somewhere
find /mnt/somewhere -printf '%i\n' | sort -u | wc -l
Hoje, fiquei sem inodes em um dos meus VPSs.
Eu apaguei um monte de arquivos pequenos supérfluos, liberando inodes suficientes para tornar o sistema operacional novamente:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/simfs 586K 529K 58K 91% /
Eu também hackeei um comando curto para me fornecer o número de inodes usados (essencialmente listando todos os arquivos com seus números de inode, filtrando duplicatas e contando as linhas do resultado):
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
Portanto, parece que os arquivos em /
representam apenas 275k inodes, mas df
reporta 529k usados.
Como isso pode ser?
(Eu até reiniciei o sistema para liberar todos os inodes que ainda estavam bloqueados pelos processos, mas isso não alterou a quantidade de inodes usados.)