Ich habe einen USB-Stick ( PQI U822V-Speedy 32G ), den ich unter Linux schnell und einfach testen möchte. Ich teste Schreibbandbreite.
dd
auf roher Partition
Ich habe eine Partition ab Sektor 2048 erstellt und dann sequenziell 4 GB geschrieben:
dd if=/dev/zero of=/dev/sdb1 bs=1M count=4096
Ich bekomme ~ 22 MB / s.
Ich habe auch versucht, mehrere (4) dd
parallel zu laufen, wie oben, aber mit count=1024
und der seek=
Option, in verschiedene Bereiche des Laufwerks zu schreiben. Gleiche Ergebnisse.
dd
auf Dateisystem
Wenn ich die sdb1
Partition jedoch mit entweder ext4
oder formatiere NTFS
und große Dateien (entweder real oder /dev/zero
) darauf kopiere , wie folgt:
time dd if=/dev/zero of=/media/USBKEY/file.bin bs=1M count=4096 ; time sync
Ich erreiche> 66 MB / s, wie vom Hersteller angegeben. Natürlich habe ich die sync
Dauer kurz nach der Kopie berücksichtigt .
Warum gibt es so einen großen Leistungsunterschied?
dd
aber höheren Suchargument, um auf verschiedene Teile der Festplatte zu schreiben.
rsync --bwlimit
beim Kopieren von Dateien tatsächlich helfen kann . Es scheint so etwas wie ein Stau zu sein: Wenn Linux versucht, zu viele Daten in den Hals des USB-Geräts zu rammen, wird es tatsächlich langsamer und bleibt langsam, bis ich die Kopie anhalte, während der Puffer geleert wird. (Dies ist mit billigen USB-Sticks).
o/iflag=nocache
? Es gibt auchdirect
undsync
Optionen, die relevant sind - ich benutze immersync
mindestens mit USB, nur damit ich sicher sein kann, dass ich den Thumbdrive nicht zu früh ziehe. Und wenn Siesync
dann sehen, vielleicht, ob Sie die gleiche Geschwindigkeit roh mitnonblock