[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: