Onde foram todos os meus inodes?

1

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.)

    
por n.st 27.03.2014 / 21:49

1 resposta

2

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
    
por 27.03.2014 / 22:32

Tags