Re: USB-Stick sehr langsam mit ext{2,3,4}
Guten Abend,
Dirk Neumann - 12.04.19, 21:15:
> Ich bin in letzter Zeit mehrfach über ein Problem gestolpert, das mich
> irgendwie ärgert: Ich habe mir neue USB-Sticks zugelegt, einer ist
> ein Kingston DataTraveler SE9 G2 mit 128 GB, der andere ein Patriot
> Supersonic Rage 2 mit 512 GB. Wenn ich die mit Ext4 formatiere, sind
> sie beim Schreiben sehr langsam, ein einfaches mkdir kann schon mal
> mehrere Minuten dauern, und beim Kopieren von Dateien gibt es immer
> so Phasen von vielleicht 2-3 Sekunden, da wird recht flott
> geschrieben, mehrere MB pro Sekunde (ich beobachte das mit gkrellm),
> und dann ist wieder für ein paar Minuten Pause, in der sich nichts
> beobachtbares tut. Mein System ist auch anderweitig nicht durch
> irgend
> etwas ausgelastet.
[…]
> Ist das generell so bei neuen USB-Sticks, dass die nicht mit
> ext{4,3,2} zusammenarbeiten oder kann man das vor dem Kauf an
> irgendwelchen Eigenschaften erkennen? Oder liegts doch an meinem
> Rechner oder meiner Installation? (Debian Stretch mit
Es gab mal USB-Sticks / SD-Karten, die auf FAT32 optimiert waren. Das
legt die Verwaltungsinformationen, die File Allocation Table, am Anfang
des Block-Geräts ab. Dieser Bereich war dann auf den wahlfreien Zugriff
optimiert. Der andere Bereich war bei SD-Karten eher für sequentiellen
Zugriff mit Dateien in der Größe von Fotos von Digitalkameras optimiert.
Nun speichert Ext4 Metadaten in der Mitte des Block-Geräts…, der bei
diesen Geräten aber nicht für wahlfreien Zugriff optimiert war.
So las ich das mal, ich denke, auf irgendeiner Webseite in Bezug auf
Flashbench, einem Test-Programm, um der Größe von Erase Blocks auf
Flashspeicher auf die Spur zu kommen.
Ich wollte eigentlich daran glauben, dass es solche SD-Karten und USB-
Sticks nicht mehr gibt…
Eine Idee, die mir noch einfällt, ist, es mit F2FS (Flash Friendly
Filesystem), das Samsung-Entwickler zum Kernel beitragen, zu versuchen.
Und falls das nichts bringt, mit unterschiedlichen Einstellungen beim
Anlegen des Dateisystems herum zu probieren.
Zuletzt: Ich übernehme meist die Partitionstabelle der SD-Karte oder des
USB-Sticks, die der Hersteller da drauf packt. Da gibt es auch schon mal
so lustige Dinge, dass die erste Partition erst bei Sektor 32768
anfängt:
Hier z.B. eine Samsung Memory MB-MP64D 64GB EVO MicroSDXC UHS-I Grade
Class 10 SD-Karte:
Disk /dev/mmcblk0: 58.6 GiB, 62881005568 bytes, 122814464 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 32768 122814463 122781696 58.6G 7 HPFS/NTFS/exFAT
Wenn der Hersteller das so macht, dann steckt da oft eine Absicht
dahinter. Z.B. passend an Erase Blocks ausrichten oder was auch immer.
Ich hatte mal einen Fork von flashbench auf Gitorius mit einem Shell-
Skript von mir, das verschiedene Tests mit Flashbench durchfürt. Wäre
mal sinnvoll, das auf Gitlab zu laden.
Ansonsten hab ich lokal noch:
git://git.linaro.org/people/arnd/flashbench.git
Hab aber jetzt nicht getestet, inwiefern das noch da liegt.
Das sollte wohl mal ein Linux User / Linux-Magazin-Artikel werden. Hab
ich aber offenbar nicht fertig gemacht.
Ciao,
--
Martin
Reply to: