(X) ubuntu'da nasıl daha iyi USB aktarım hızları elde edebilirim?


14

USB 2.0 sürücümü Xubuntu'ya bağlayıp büyük dosyaları aktarmaya çalıştığımda, aktarım hızları başlangıçta iyi ancak birkaç saniye sonra 1-2 Mib / s'ye düşüyor. Okuduğum kadarıyla, başlangıçtaki hızlı aktarım önbellek dolana kadar gerçekleşiyor, o zaman gerçek USB aktarım hızı kullanılıyor.

Windows'da, hız aynı bağlantı noktasına bağlı yaklaşık 25Mib / s'de sabittir.

Bu, çubuğu bağlarken dmesg'den gelen çıktıdır:

[ 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

Çubuk otomatik olarak numaralandırılmıştır, işte "mount" çıkışı:

/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)

Playstation3 sistemime dosya aktarmak istediğim için vfat kullanmalıyım. Aşağıdaki test, bunun ana nedeni olmadığını gösterir.

Bu (X) ubuntu'da yaygın bir sorun gibi görünüyor. Henüz net bir çözüm bulamadım. Çubuğun sifon yerine asenkron olarak monte edilmesi gerekiyor gibi görünüyor, ancak bunu nasıl başaracağımdan tam olarak emin değilim. Aktarım hızları daha iyi olduğu sürece, ayırmadan önce çubuğu her seferinde çıkarmam gerekmiyor.

Herhangi bir fikir?

2 Kasım: Bu hata raporu ilgili görünüyor: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/182931 . Beni endişelendiren, sorunun 2 yaşın üzerinde olduğu ve hala çözülmediğidir.

10 Kasım: palimpstest ile bir okuma testi başlattım (gnome-disk-utility projesinden). Bu bana minimum 23 MBit / sn aktarım hızı sağlıyor. Ayrıca şimdi krusader'de denedi, okuma hızı sürekli olarak> 20 MBit / s. Yani sorun gerçekten sadece sopayla yazmak!

İşte aynı programdaki bir okuma-yazma testinin görüntüsü:

resim açıklamasını buraya girin

Testten önce dosya sistemini tamamen silmek zorunda kaldım, bu da vfat'ın yukarıda belirtildiği gibi ana neden olmadığını gösterir.

Başka bir ipucu: 100 MB'lık bir dosyayı aktarırsam,% 100'e ulaştığında aktarımı gerçekten bitirmek olağandışı uzun zaman alır. Bu bana yine dosyanın gerçekten bir önbellekte olduğunu ancak usb aygıtına yazmak çok yavaş olduğunu görünüyor.

12 Kasım: "İyi haber". Sorunlar bellek çubuğunun kendisi gibi görünüyor. Harici bir sabit disk (My Book Elite 1TB) denemek bana yaklaşık 20 MiB / s'lik sabit yazma hızı sağlıyor. İlk önce bellek çubuğumu yeniden biçimlendirmeye çalıştım, böylece ikisini gerçekten karşılaştırabilirim (dosya sistemleri farklıydı). Yeniden biçimlendirdikten sonra, her iki sürücü de tam olarak aynı şekilde monte edilir:

/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 çubuktur (hız birkaç saniye sonra düşüyor), My Book, 20 MiB / s'lik sabit yazma hızına sahip harici sabit disk.

O zaman sorunun gerçekte ne olduğunu söylemek zor. Dediğim gibi, Windows'da da SanCruzer ile aynı hızda yazma hızları elde ediyorum.

Ödül sonunda düzenleme: Neyse ki, sopayla ilgili sorun hala çözülmedi. Ancak, 7 gün sonra elbette ödül vermek istiyorum. Bu konuya yeni bir ışık tuttuğu için aking1012'nin yorumu gerçekten yardımcı oldu. Ancak, problemin çözülmesi için en fazla çabayı gösterdiğinden harrymc'e lütuf vermek zorunda olduğumu hissediyorum. Hepinize teşekkürler.



1
sürücüler için yazma hızı ve gerçek harici
HD'ler

Mükemmel fikir! Bahşiş için çok teşekkürler, lütfen güncellememdeki sonuca bakın (12 Kasım). Sorun henüz çözülmedi, ama bu gerçekten onu daraltıyor!
pgruetter

FWIW, flushmontaj çıkışınızdaki seçeneğin yardımcı olması olası değildir. Bence bu daha da kötü sync.
beldaz

Yanıtlar:


11

Yavaş USB 2.0 yığın depolama aktarım hızı makalesi , bunun senkronizasyon seçeneğiyle varsayılan olarak monte edilmesinde bir sorun olabileceğini düşündürmektedir:

Masaüstünüzde bir "Cihazlar" Simgesi var mı?
Öyleyse açın. Değilse, medya açmayı deneyin: / in konqueror.

Daha sonra cihazı seçin -> Özellikler -> Montaj (etiket) ve Senkron kutusunun işaretini kaldırın. (Bu hatırlanır, bu nedenle cihaz başına yalnızca bir kez yapmanız gerekir).


Hata raporundan daha fazla fikir geliyor Harici hdd üzerine yazarak yazmayı çok yavaş hale getirin

  • çalışma zamanında eşzamansız olarak 'sudo mount -o remount, async / dev / sda1' (veya bağlı bölümleriniz ne olursa olsun) ile değiştirirsiniz
  • sda için async'i bağlayan bir fstab girişi oluşturursunuz (bu, cihazın her zaman önyükleme zamanında takılı olmasını gerektirir)
  • pmount kaynağındaki 'sync'i' async 'olarak değiştirirsiniz ve paketi yeniden oluşturursunuz

Sisteminiz için geçerliyse, pmount ile ilgili makaledeki tartışmaya da bakın.


Başka bir sihirli çözüm USB 2.0 yavaş yazma ama hızlı okuma, henüz çözüm geliyor ? ve yeniden montajı içerir:

/ Dev / sdc1 üzerine aşağıdaki satırla bir USB sürücü taktığımda

/dev/sdc1       /mnt/sdc1     auto    sync,noauto,user,exec     0       0

/ etc / fstab dosyasına gidin ve yerel sabit diskten sürücüye 5,2 MB dosya kopyalamaya çalışın, ardından bir dakika sonra 244 KB aktarıldı. 29 MB'lik bir dosyayı harici sürücüden yerel sürücüye kopyalamak yaklaşık 10 saniye sürer.

Sonra bağlantısını kesersem, / etc / fstab içindeki satırı

/dev/sdc1       /mnt/sdc1     auto    noauto,user,exec     0       0

daha sonra 29 MB dosyasını harici diske kopyalamak, saniyenin fark edilmeyen bir kısmını alır. Harici diskten yerel diske kopyalama ile aynıdır.


Bu makaleye ve "usbtree" referansına bakın. Usb 1.1 veya 2.0 olarak çalışıp çalışmadığını nasıl kontrol edeceğini anlatır:

Linux ve USB 2.0 .


Bu KDE için özel görünüyor. XFCE4 (Xubuntu) kullanıyorum. Konquerer kurulurken öneriyi yine de denedim. medya açılıyor: / bana "Protokol desteklenmiyor" istisnasını veriyor. Başka bir şekilde "asenkron" veya "sync" takılı olup olmadığını öğrenmek?
pgruetter

Bir faydalı makale daha ekledim.
harrymc

remount hiçbir şey yapmaz. "Mount" çıkışı hala aynı. Bunun için ilk mesajımı görün. Ayrıca şimdi pmount ile monte etmeye çalıştım, öneri için teşekkürler. Pmount durumlarının yardımı, varsayılan olarak zaman uyumsuzluğunu bağlar. Yine de, aktarım hızları önce çok hızlıdır ve birkaç saniye sonra düşer. Sopa aslında asenkron monte olduğuna inanmaya başlıyorum ama sorun başka bir yerde !?
pgruetter

Bir deneme daha eklendi.
harrymc

Teşekkürler harrymc, sürekli çabanızı gerçekten takdir ediyorum. Ne yazık ki, hala bir şans yok. / Etc / fstab içinde belirtilen ayarlarla denedim ve monte ettim. Seçeneği senkronizasyonla denersem daha da kötü olur. Sadece yaklaşık 100-200 Kib / s alıyorum. Senkronizasyon seçeneği olmadan, hala aynı: başlangıçta hızlı, 1-2 MiB / s'ye düşüyor.
pgruetter

2

Sürücüye erişim genellikle zaman uyumsuz modda arabelleğe alınır. İlk hızlı seri çekimin bellek önbelleğine gelmesi muhtemeldir. Yavaş hız gerçek yazma hızıdır.

Aktarım sırasında yanıp sönen bir USB çubuğunuz varsa, bazı testleri deneyin. Kopyaların tamamlanmasından sonra yazıların bir süre daha devam edebileceğini buldum.

Senkronizasyon modu yerine zaman uyumsuz modda montaj, kopyanın daha hızlı ilerlemesini sağlar, ancak kopyalanan verilerin gerçekten aktarıldığı güvenliği sağlamaz.

İçindeki seçenekleri işaretleyin man mount. Bazı biçimler meta veri (dizin, dosya ayırma tablosu vb.) Güncellemelerinin ertelenmesine izin verir. Bu, kopyalanması gereken veri miktarını azaltacaktır. Bu veri kaybı riskini biraz arttırır.


Bilgi için teşekkürler, bu aslında benim varsayımları doğrular. Aktarım sırasında sürücü sürekli yanıp sönüyor, aktarımdan sonra uzun süre yanıp sönmüyor. Ben sadece dosya yöneticisi hala sopa erişiyor çünkü bunun olduğundan şüpheleniyorum. Güvenlik büyük bir sorun olmazdı, gerçekten sadece hızla ilgileniyorum. Meta veriler hakkında ilginç, bunu kontrol edeceğim. Bununla birlikte, büyük dosyaları (500 MiB) aktarırken bunun herhangi bir şeyi değiştireceğini düşünüyor musunuz?
pgruetter 16:10

Ayrıca, beni hala şaşırtan şey, harici sabit disk ile neden çok hızlı ama sopayla değil? Bağlama seçenekleri tamamen aynı, aynı test dosyasını aktardım.
pgruetter 16:10

1
Bir sabit sürücüye 4 KiB yazma genellikle sabit disk denetleyicisi tarafından uygulanan 4 KiB yazmadır. Flash belleğe 4 KiB yazma tipik olarak geçici bir depoya 128 KiB okuma, bahsedilen geçici depolamanın doğru ofsetinde 4 KiB üzerine yazma, 128 KiB silme işlemi ve yukarıdakilerin tümü tarafından uygulanan 128 KiB yazmadır. Flash bellek denetleyicisi.
Aşağı

1

Bu sayfaya aynı sorunun bir google aramasıyla ("ubuntu 15 usb aktarımını hızlandır") geldim çünkü transferlerim 75kb / s hızında çalışıyor.

Bu muhtemelen sadece kurulumum için bir çözümdü, ancak 16GB USB 3 sürücüm GPT fat32 olarak biçimlendirildi, MBR'ye başlatılan, tek bir NTFS bölümü oluşturdum, Ubuntu bilgisayarıma geri taktım ve şimdi 10GB'lık bir dosya aktarıyor 50 MB / sn üzerinde. Benim için sorun çözüldü.


Mint 18.3 (Ubuntu 16.04) için fat32'den ntfs'ye geçişin büyük bir gelişme olduğunu doğruladı.
Raven

0

Sistemin program / silme blok parçalarına yazmaya çalıştığından emin olmalıyız. Modern flash bellek ile genellikle 1M-4M boyutundadırlar. Bunu yapmak için FS'nizin blokları silmek için hizalandığından emin olmak istersiniz ve bu arayüz tek seferde tüm blok transferine izin verir (ucuz çubuklar için). Aksi takdirde, sistem blok (okuma / mod / yazma yapıyor) + blok yanlış hizalamadan daha küçük parçalar halinde yazmaya çalıştıkça yazma amplifikasyonu elde ederiz.

Geçerli ayarınızı kontrol etmek için şunları yapın:

cat /sys/block/sd**X**/device/max_sectors

Bu cihazlar için salon kurallarını ayarlayabilirsiniz. Bkz. Https://unix.stackexchange.com/questions/67719/change-value-of-usb-max-sectors-for-an-entire-family-of-devices .

Bu durumda, varsayılan 240 (USB depolama) kullanılan tüm cihazlar için max_sektörleri 32K sektörlere veya 2K sektörlere değiştirdim:

(kontrol etmek için == ve atamak için = kullanın):

Sistemimde (Mageia 4, 3.14.24 core i7) Bunu Kingston DT101 G2 16GB'da son derece yavaş yazma hızları (2MB / sn) nedeniyle yapmak zorunda kaldım:

vi /usr/lib/udev/rules.d/81-udisks_maxsect.rules ve Ekle:

SUBSYSTEMS == "scsi", ATTR {max_sectors} == "240", ATTR {max_sectors} = "32678"

Ve dd yazma hızı 3 kat arttı :-) mc cp muhtemelen 10-20x yukarı (ilk bölüm @ 8192' sektörde başladıktan ve 64k hizalanmış kümelerle yeniden biçimlendirildikten sonra):

fdisk -u /dev/sdh (açıksa DOS ile uyumlu hale getirin),

mkfs.vfat /dev/sdh1 -n KINGSTON16G -s 128 **-R 4592**ve fsck.vfat -v /dev/sdh1hizalamayı kontrol etmek için kullanın ([veri başlatma sektörü] öğesinin 128'den (küme boyutu) fazla olması gerekir). Gerekirse ayrılmış sektörlerin sayısını (-R) ayarlayın.

Varsayılan maks_sektörler (240), bazı ucuz yeni sürücülerde yüksek yazma amplifikasyonuna neden oluyor gibi görünüyor. Ancak bu kadar yüksek ayarda çok dikkatli olun, benzer etki 2048 sektörde elde edilir (muhtemelen 1M silme blokları:

SUBSYSTEMS == "scsi", ATTR {max_sectors} == "240", ATTR {max_sectors} = "2048"

Tüm eski USB cihazlarınızı hala iyi çalıştıklarından test edin. Daha spesifik olmak için kural dosyalarındaki satıcı / model niteliklerini kullanın.

Not: ext3 / 4 kullanıyorsanız:

Günlük kaydını devre dışı bırakın ve mkfs.ext3 için stride / stripe_width değerini ayarlayın:

mkfs.ext3 -O ^ has_journal -E adım = [sayfa fs bloklarını oku] -E şerit genişliği = [blok fs bloklarını sil]


0

Bir WD harici diskte aktarım hızı ile de bazı problemler yaşadım, bir pencerede açtıktan sonra SO, her zaman LINUX kullandım, bundan sonra aktarım hızı harici sabit sürücüyü çıkardığımdan 1.5mb / s gibi, orada dmesg koştu sdb1'in düzgün bir şekilde sökülmediğini, bir fsck çalıştırdığını, birkaç onarım yaptığını ve bundan sonra sda'dan harici diske kopyalandığında 20mb / s aktarım hızını tekrar söylüyordu.
"Verileriniz varsa fsck her zaman bir risktir, ancak veri kaybı olmadan benim için çalıştı"


0

, Kontrol kontrol gerçekten cihazınız bir USB bağlantı olduğunu destekler tam hız takılı olduğundan emin.

Bu aptalca gelse de, bazen işler karışır. Bazı anakartlarda yüksek ve düşük hızlı bağlantı noktaları bulunur. Usbview gibi bir araç kullanınsudo usbviewCihazınızın 480Mb / s (USB 2.0) veya daha yüksek bir hızda çalıştığını doğrulamak için (süper kullanıcı haklarıyla yürütmeyi unutmayın) .

Örneğin, cihazınızı genellikle bir uzatma kablosu, ekranınızdaki bir hub vb. Aracılığıyla taktığınızda - kabloları masaüstünüzdeki bilgisayara yeniden taktıktan sonra - hub'ı yanlışlıkla düşük bir hıza taktığınızda ortaya çıkabilir. (USB 1.) bağlantı noktası. Ardından, hub'a takılan tüm cihazlar düşük hızda çalışırken, başka bir yere takılan diğerleri yüksek hızda çalışır. Çok kafa karıştırıcı olabilir - ve basit bir donanım şeyidir ... Bana bir kez oldu ve herhangi bir USB çekirdek modülleri, montaj seçenekleri vb.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.