Kann ich die Inode-Anzahl unter Linux erhöhen?


9

Ich habe einen Linux MIPS Router mit 2.4.17 Kernel. Root fs ist ein tmpfs und / rom ist ein cramfs. Es gibt 4 MB freien Speicher und 3 MB freien Speicher auf tmpfs.

Ich kann ein paar neue leere Dateien erstellen, aber die nächsten schlagen mit "nicht genügend Speicherplatz" fehl. Ich kann jedoch 1 MB Daten an eine vorhandene Datei anhängen. Mein Problem liegt also in der Inode-Zählung.

Und meine Fragen:

  1. Gibt es eine Möglichkeit, Inodes dynamisch zu erhöhen?
  2. Wenn ich es nicht dynamisch erhöhen kann - Wo kann ich es in Kernelquellen erhöhen?

Was sagt df -i?
womble

df in Busybox hat keine Option -i
Vlad

vlad: Was ist mit dem Befehl stat? Gibt es einen Befehl stat, der die Option -f unterstützt? dann einfach stat -f <mountpoint>. Wenn nicht und Sie können etwas c herausknallen und zu Mips kreuzen, können Sie vielleicht die statfs () oder Familienaufrufe selbst verwenden?
Kyle Brandt

Antworten:


5

Wenn die Anzahl der Inodes Ihr eigentliches Problem ist, können Sie die Anzahl der verfügbaren Inodes für das Dateisystem tmpfs mit der Mount-Option nr_inodes erhöhen. Wenn Sie nr_inodes = 0 setzen, gibt es unbegrenzte Inodes.

Alle diese Informationen finden Sie in der Dokumentation zum tmpfs-Kernel .

Ein Beispiel für eine erneute Montage finden Sie in der Antwort von womble. Zum Booten müssen Sie Ihre fstab bearbeiten oder was auch immer dies für Ihren speziellen Linux-Build tut, damit zukünftige Mounts korrekt behandelt werden.


7

Mit der nr_inodesOption mount können Sie die Anzahl der in tmpfs verfügbaren Inodes festlegen . Um dies live zu machen, kannst du einfach laufen:

mount -o remount,nr_inodes=<bignum> /tmp

Ich vermute, dass das Festlegen dieser Zahl sehr, sehr groß zu einem hohen Speicherverbrauch führt. Seien Sie also vorsichtig.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.