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) ddparallel zu laufen, wie oben, aber mit count=1024und der seek=Option, in verschiedene Bereiche des Laufwerks zu schreiben. Gleiche Ergebnisse.
dd auf Dateisystem
Wenn ich die sdb1Partition jedoch mit entweder ext4oder formatiere NTFSund 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 syncDauer kurz nach der Kopie berücksichtigt .
Warum gibt es so einen großen Leistungsunterschied?
ddaber höheren Suchargument, um auf verschiedene Teile der Festplatte zu schreiben.
rsync --bwlimitbeim 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 auchdirectundsyncOptionen, die relevant sind - ich benutze immersyncmindestens mit USB, nur damit ich sicher sein kann, dass ich den Thumbdrive nicht zu früh ziehe. Und wenn Siesyncdann sehen, vielleicht, ob Sie die gleiche Geschwindigkeit roh mitnonblock