Ich habe ein kleines eingebettetes Gerät mit nur 128 MB RAM
An dieses Gerät ist eine 2 TB USB2-Festplatte angeschlossen
Ich war bis vor kurzem sehr zufrieden mit der Leistung des Geräts, als entweder die Anzahl der Dateien einen Schwellenwert überschritten hat oder die Kapazität der Festplatte einen Schwellenwert überschritten hat (ich bin mir nicht sicher, welche)
Auf der Festplatte befinden sich viele kleine Dateien. Aufgrund der Art des Schreibens sind die Anwendungsdateien sehr ausgewogen organisiert. Kein Blattknotenverzeichnis enthält mehr als 200 Dateien und es gibt etwas mehr als 800.000 Dateien.
Ich hoffe, einen Hinweis auf etwas zu bekommen, das untersucht werden kann. Die Festplattenleistung ist erheblich gesunken, das Gerät hat sich recht gut entwickelt, und dann ist die Leistung plötzlich wie ein Stein gesunken.
Ich gehe davon aus, dass die Organisationsstruktur, die ich für meine Dateien auf der Festplatte ausgewählt habe, die Fähigkeit der Inode-Caches, schnell zu bleiben, irgendwie beeinträchtigt hat.
Als Experiment habe ich die Festplatte abgemeldet (Caches leeren, mit free verifiziert). Dann navigierte ich von einer Eingabeaufforderung tief in die Verzeichnisstruktur. Insgesamt befanden sich in diesem Verzeichnis (und seinen untergeordneten Elementen) nur etwa 3200 Dateien, und zu diesem Zeitpunkt zeigte "frei"> 117 MB freien Speicher
Zu diesem Zeitpunkt habe ich den Befehl 'find' gefolgt von 'free' eingegeben.
'find' zeigte ungefähr 3000 Dateien an, aber die Speichernutzung stieg von ~ 117 MB auf ~ 2 MB
Ich verstehe das Gleichgewicht zwischen Cache und freiem Speicher und wie der Kernel eine leere Seite als schlechte Seite betrachtet. 115 MB zwischengespeicherter Inhalt aus einem Verzeichnis mit 3000 Dateien deuten jedoch auf eine ernsthafte Lücke in meinem Verständnis hin. Ich hoffe, jemand hilft mir zu verstehen, was passiert
Kann ich davon ausgehen, dass ein ausgeglichener Baum der richtige Weg ist, um viele Dateien zu haben?
quelle