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:
- Gibt es eine Möglichkeit, Inodes dynamisch zu erhöhen?
- Wenn ich es nicht dynamisch erhöhen kann - Wo kann ich es in Kernelquellen erhöhen?
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?Antworten:
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.
quelle
Mit der
nr_inodes
Option mount können Sie die Anzahl der in tmpfs verfügbaren Inodes festlegen . Um dies live zu machen, kannst du einfach laufen:Ich vermute, dass das Festlegen dieser Zahl sehr, sehr groß zu einem hohen Speicherverbrauch führt. Seien Sie also vorsichtig.
quelle