Wo sind all meine Inodes hin?

Wo sind all meine Inodes hin?

Heute sind mir auf einem meiner VPS die Inodes ausgegangen.
Ich habe eine Reihe überflüssiger kleiner Dateien gelöscht und so genügend Inodes freigegeben, um das System wieder betriebsbereit zu machen:

Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/simfs       586K  529K   58K   91% /

Ich habe außerdem einen kurzen Befehl zusammengehackt, der mir die Anzahl der verwendeten Inodes anzeigt (im Wesentlichen listet er alle Dateien mit ihren Inode-Nummern auf, filtert Duplikate heraus und zählt die Zeilen des Ergebnisses):

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

Es sieht also so aus, als ob die Dateien /nur 275.000 Inodes belegen, aber dfeine Nutzung von 529.000 melden.

Wie kann das sein?

(Ich habe das System sogar neu gestartet, um alle Inodes freizugeben, die noch durch Prozesse gesperrt waren, aber das hat an der Anzahl der verwendeten Inodes überhaupt nichts geändert.)

Antwort1

Verwenden Sie eine Bind-Einbindung anstelle von -xdev. Außerdem verwenden Verzeichnisse auch Inodes.

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

verwandte Informationen