Wenn ich mein USB 2.0-Laufwerk an Xubuntu anschließe und versuche, große Dateien zu übertragen, ist die Übertragungsgeschwindigkeit zunächst gut, sinkt jedoch nach einigen Sekunden auf 1-2 Mib / s. Nach dem, was ich gelesen habe, ist die schnelle Übertragung am Anfang nur so lange, bis der Cache voll ist, dann wird die tatsächliche USB-Übertragungsgeschwindigkeit verwendet.
Unter Windows ist die Geschwindigkeit konstant bei ca. 25Mib / s, der gleiche Stick ist an den gleichen Port angeschlossen.
Dies ist die Ausgabe von dmesg beim Anschließen des Sticks:
[ 5237.580084] usb 1-4: new high speed USB device using ehci_hcd and address 6
[ 5237.714318] scsi4 : usb-storage 1-4:1.0
[ 5238.713909] scsi 4:0:0:0: Direct-Access SanDisk Cruzer 8.02 PQ: 0 ANSI: 0 CCS
[ 5238.715264] sd 4:0:0:0: Attached scsi generic sg2 type 0
[ 5238.727225] sd 4:0:0:0: [sdb] Attached SCSI removable disk
[ 5242.308981] sd 4:0:0:0: [sdb] 31301631 512-byte logical blocks: (16.0 GB/14.9 GiB)
[ 5242.309589] sd 4:0:0:0: [sdb] Assuming drive cache: write through
[ 5242.311228] sd 4:0:0:0: [sdb] Assuming drive cache: write through
[ 5242.311238] sdb: sdb1
Der Stick ist automounted, hier ist die Ausgabe von "mount":
/dev/sdb1 on /media/B82C-6B07 type vfat (rw,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush)
Ich muss vfat verwenden, da ich Dateien auf mein Playstation3-System übertragen möchte. Obwohl der Test unten zeigt, dass dies nicht die Hauptursache ist.
Dies scheint ein häufiges Problem in (X) ubuntu zu sein. Ich habe noch keine klare Lösung gefunden. Es scheint, dass der Stick asynchron anstatt bündig montiert werden muss, aber ich weiß nicht genau, wie ich das erreichen soll. Es macht mir nichts aus, wenn ich den Stick jedes Mal aushängen muss, bevor ich ihn trenne, solange die Übertragungsgeschwindigkeit besser ist.
Irgendwelche Ideen?
2. November: Dieser Fehlerbericht scheint im Zusammenhang zu stehen: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/182931 . Was mich beunruhigt ist, dass das Problem über 2 Jahre alt zu sein scheint und immer noch nicht gelöst ist.
10. November: Ich habe einen Lesetest mit palimpstest gestartet (aus dem Gnome-Disk-Utility-Projekt). Dies gibt mir eine minimale Übertragungsrate von 23 MBit / s. Habe es jetzt auch im krusader probiert, die Lesegeschwindigkeit ist konstant> 20 MBit / s. Das Problem ist also wirklich, nur auf den Stick zu schreiben!
Hier ist ein Bild eines Lese- / Schreibtests im selben Programm:
Ich musste das Dateisystem vor dem Test komplett löschen, was zeigt, dass vfat nicht die Hauptursache ist, wie oben erwähnt.
Ein weiterer Hinweis: Wenn ich eine 100-MB-Datei übertrage, dauert es ungewöhnlich lange, bis die Übertragung tatsächlich abgeschlossen ist. Das sieht für mich wieder so aus, als ob sich die Datei zwar in einem Cache befindet, aber das Schreiben auf das USB-Gerät sehr langsam ist.
12. November: "Gute Nachrichten". Das Problem scheint der Memory Stick selbst zu sein. Wenn ich eine externe Festplatte (My Book Elite 1 TB) versuche, erhalte ich eine konstante Schreibgeschwindigkeit von ca. 20 MiB / s. Ich habe zuerst versucht, meinen Memory Stick neu zu formatieren, damit ich die beiden wirklich vergleichen kann (Dateisysteme waren unterschiedlich). Nach der Neuformatierung werden beide Laufwerke auf die gleiche Weise gemountet:
/dev/sdb1 on /media/My Book type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096,default_permissions)
/dev/sdc1 on /media/cruzer_ type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096,default_permissions)
Cruzer ist der Stick (die Geschwindigkeit fällt nach einigen Sekunden immer noch ab), My Book ist die externe Festplatte mit einer konstanten Schreibgeschwindigkeit von 20 MiB / s.
Schwer zu sagen, was das Problem dann wirklich ist. Wie gesagt, in Windows bekomme ich mit dem SanCruzer auch gleich hohe Schreibgeschwindigkeiten.
Bearbeiten am Ende des Kopfgeldes: Leider ist das Problem mit dem Stick immer noch nicht gelöst. Allerdings möchte ich nach 7 Tagen das Kopfgeld natürlich vergeben. Der Kommentar von aking1012 war sehr hilfreich, da er ein neues Licht auf die Angelegenheit wirft. Ich habe jedoch das Gefühl, dass ich Harrymc das Kopfgeld geben muss, da er die größte Anstrengung zeigte, um das Problem zu lösen. Vielen Dank an alle.
flush
ist unwahrscheinlich , dass die Option in Ihrer Mount-Ausgabe hilft. Ich denke das ist noch schlimmer alssync
.Antworten:
Der Artikel Langsame USB 2.0-Massenspeicherübertragungsrate deutet darauf hin, dass dies möglicherweise ein Problem ist, wenn das Gerät standardmäßig mit der Synchronisierungsoption aktiviert wird:
Weitere Ideen stammen aus dem Fehlerbericht Write through on external hdd, wodurch das Schreiben sehr langsam wird
Siehe auch die Diskussion im Artikel bezüglich pmount, falls dies auf Ihr System zutrifft.
Eine andere magische Lösung kommt von USB 2.0 langsames Schreiben aber schnelles Lesen, Lösung schon? und beinhaltet re-mount:
Siehe diesen Artikel und den Verweis auf "usbtree". Hier erfahren Sie, wie Sie überprüfen können, ob der USB-Anschluss als 1.1 oder 2.0 funktioniert:
Linux und USB 2.0 .
quelle
Der Zugriff auf das Laufwerk wird normalerweise im asynchronen Modus gepuffert. Der anfängliche schnelle Burst führt wahrscheinlich zum Cache-Speicher. Langsame Geschwindigkeit ist die tatsächliche Schreibgeschwindigkeit.
Wenn Sie einen USB-Stick haben, der während der Übertragung blinkt, versuchen Sie es mit einigen Tests. Ich fand, dass die Schreibvorgänge noch eine Weile dauern können, nachdem der Kopiervorgang abgeschlossen ist.
Durch das Aktivieren im asynchronen Modus anstelle des Synchronisierungsmodus wird der Kopiervorgang beschleunigt, es wird jedoch nicht die gleiche Sicherheit wie bei der tatsächlichen Übertragung von kopierten Daten geboten.
Überprüfen Sie die Optionen in
man mount
. In einigen Formaten können Aktualisierungen von Metadaten (Verzeichnis, Dateizuordnungstabelle usw.) zurückgestellt werden. Dadurch wird die Datenmenge verringert, die kopiert werden muss. Dies erhöht das Risiko von Datenverlusten geringfügig.quelle
Ich bin zu dieser Seite über eine Google-Suche mit demselben Thema gekommen ("Ubuntu 15 beschleunigt die USB-Übertragung"), da meine Übertragungen mit 75 KBit / s ausgeführt wurden.
Dies war wahrscheinlich nur die Lösung für mein Setup, aber mein 16-GB-USB-3-Laufwerk wurde auf GPT fat32 formatiert. Ich habe alle Partitionen gelöscht, auf MBR initialisiert, eine einzelne NTFS-Partition erstellt, sie wieder in meinen Ubuntu-PC gesteckt und überträgt jetzt eine 10-GB-Datei bei über 50 MB / s. Für mich ist das Problem gelöst.
quelle
Wir müssen sicherstellen, dass das System versucht, in Programm- / Löschblockblöcke zu schreiben. Mit modernen Flash-Speichern haben sie normalerweise eine Größe von 1 bis 4 MB. Um dies zu tun, möchten Sie sicherstellen, dass Ihr FS so ausgerichtet ist, dass er Blöcke löscht, und dass diese Schnittstelle den gesamten Blocktransfer auf einmal ermöglicht (für billige Sticks). Andernfalls würden wir eine Schreibverstärkung erhalten, da das System versucht, in kleinere Blöcke zu schreiben, als Block löschen (Lesen / Modifizieren / Schreiben) + Blockfehlausrichtung.
Um Ihre aktuelle Einstellung zu überprüfen, gehen Sie wie folgt vor:
cat /sys/block/sd**X**/device/max_sectors
Sie können die Hallenregeln für diese Geräte anpassen. Siehe /unix/67719/change-value-of-usb-max-sectors-for-an-entire-family-of-devices .
In diesem Fall hatte ich max_sectors für alle Geräte ersetzt, die standardmäßig 240 (USB-Speicher) für 32-KB-Sektoren oder 2-KB-Sektoren verwendeten:
(mit == prüfen und = zuweisen):
Auf meinem System (Mageia 4, 3.14.24 Core i7) musste ich dies aufgrund der extrem langsamen Schreibgeschwindigkeit (2 MB / Sek.) Auf dem Kingston DT101 G2 16GB tun:
vi /usr/lib/udev/rules.d/81-udisks_maxsect.rules
und füge hinzu:SUBSYSTEMS == "scsi", ATTR {max_sectors} == "240", ATTR {max_sectors} = "32678"
Und die dd-Schreibgeschwindigkeit stieg um das 3-fache :-) mc cp wahrscheinlich um das 10-20-fache (nachdem ich die erste Partition im 8192-ten Sektor gestartet und mit 64k-ausgerichteten Clustern neu formatiert hatte):
fdisk -u /dev/sdh
(DOS-Kompatibilität deaktivieren, wenn aktiviert),mkfs.vfat /dev/sdh1 -n KINGSTON16G -s 128 **-R 4592**
undfsck.vfat -v /dev/sdh1
zur Überprüfung der Ausrichtung verwenden (überprüfen Sie, ob [Datenstartsektor] ein Vielfaches von 128 (Clustergröße) sein sollte). Passen Sie bei Bedarf die Anzahl der reservierten Sektoren (-R) an.Die Standardeinstellung max_sectors (240) scheint auf einigen der billigen neuen Laufwerke eine hohe Schreibverstärkung zu verursachen. Aber seien Sie sehr vorsichtig mit solch einer hohen Einstellung, der ähnliche Effekt wird bei 2048 Sektoren erzielt (wahrscheinlich 1 Million Löschblöcke:
SUBSYSTEMS == "scsi", ATTR {max_sectors} == "240", ATTR {max_sectors} = "2048"
Testen Sie alle Ihre alten USB-Geräte, dass sie immer noch gut funktionieren. Verwenden Sie Hersteller- / Modellattribute in den Regeldateien, um genauere Angaben zu erhalten.
PS: Bei Verwendung von ext3 / 4:
Deaktiviere Journaling und setze stride / stripe_width für mkfs.ext3:
mkfs.ext3 -O ^ has_journal -E stride = [Seite fs-Blöcke lesen] -E stripe-width = [Block fs-Blöcke löschen]
quelle
Ich hatte auch einige Probleme mit der Übertragungsrate auf einer externen WD-Festplatte, nachdem ich sie in einem Windows-SO geöffnet hatte, benutzte ich immer LINUX, danach betrug die Übertragungsrate etwa 1,5 MB / s, als ich die externe Festplatte abmeldete, und ließ sie dort laufen habe gesagt, dass sdb1 unversehens unmontiert war, habe ein fsck ausgeführt, das ein paar reparaturen gemacht und danach 20mb / s transferrate beim kopieren von sda auf externe festplatte wieder.
"fsck ist immer ein Risiko, wenn Sie Daten haben, aber es hat bei mir funktioniert, ohne Datenverlust"
quelle
Überprüfen Sie wirklich , ob Ihr Gerät an einen USB-Anschluss angeschlossen ist, der volle Geschwindigkeit unterstützt.
Obwohl dies albern klingt, geraten die Dinge manchmal durcheinander. Einige Motherboards verfügen über Hoch- und Niedriggeschwindigkeitsanschlüsse. Verwenden Sie ein Tool wie usbview (Hinweis, um es mit Superuser-Rechten auszuführen
sudo usbview
), um zu überprüfen, ob Ihr Gerät mit 480 MBit / s (USB 2.0) oder mehr betrieben wird.Wenn Sie Ihr Gerät beispielsweise normalerweise über ein Verlängerungskabel, einen Hub an Ihrem Bildschirm usw. anschließen, kann es vorkommen, dass Sie den Hub versehentlich mit einer geringen Geschwindigkeit angeschlossen haben, nachdem Sie die Kabel an Ihrem Desktop-Computer neu angeschlossen haben (USB 1.) Anschluss. Dann arbeiten alle an den Hub angeschlossenen Geräte mit niedriger Geschwindigkeit, während andere, die an einer anderen Stelle angeschlossen sind, mit hoher Geschwindigkeit arbeiten. Kann sehr verwirrend sein - und ist eine einfache Hardware-Sache ... Ist mir einmal passiert und hat nichts mit USB-Kernel-Modulen, Mount-Optionen oder so zu tun.
quelle