surfhai schrieb
ich hab das Problem, dass wenn ich ein paar hundert MB von meinem Rechner auf einen Flashspeicher kopieren will die Übertragungsrate von anfangs sehr schnell (25MB/s und schneller) zu sehr sehr langsam (kB/s Bereich bis einige sekunden lang sogar 0B/s, wobei es häufig zwischen 1MB/s und 200kB/s schwankt) nach ein paar MB ändert.
Das ist erstmal ein normales Verhalten. Der zu kopierende Strom füllt erstmal deinen (RAM)-Cache,
das sind die 25MB/s. Wenn der Cache voll ist muß dieser an sich schnelle Transfer an die
Geschwindigleit des Ziel-Mediums angepaßt werden um "geleert" zu werden bevor seitens des
Kopiervorgangs wieder in den Cache geschoben werden kann. Dadurch entsteht beim netten
Pop-Up über den Gesamttransfer eine "Stockung".
Nach einiger Zeit pendelt sich die angezeigte Übertragungsrate auf die ein, mit welcher das
Medium bzw. der Bus beschickt werden kann.
Gerade bei USB-Sticks (und wohl auch MP3-Playern) gibt es etliche, die eine miserable IO-Rate
aufweisen.
Gradmesser was die Geräte am Rechner leisten können sind da wohl nur:
hdparm -tT /dev/sdX (X ist das Device des Sticks, z.N. /dev/sdc)
wobei die
Lesegeschwindigkeit einmal mit Cache und (das ist das wichtigste) ohne Cache gezeigt wird.
Zum Gewinnen einer maximalen Schreibrate hilft nur ein Tool, was sämtliches Caching der
Dateisysteme umgeht. Das ist dd. Dieser Schreib-Test ist aber destruktiv, er zerstört also alle
Daten/Partitionstabellen auf dem Medium!!!
dd if=/dev/zero of=/dev/sdXY bs=1M count=100
schreibt dir Nullen auf den Stick/Partition /dev/sdXY und zwar 100MB. Diese Geschwindigkeit
ist die reale Geschwindigkeit mit der (abseits von FS oder sontigem) das Gerät beschrieben
werden kann.
Also nur machen wenn du einen leeren/unwichtigen Stick hast, den du anschließend ggf.
neu partitonieren/formatieren kannt.