Dlaczego transfer plików USB jest tak wolny w 12.10?


12

W 12.04 uzyskiwałem zwykle 4-8 Mb / s podczas kopiowania plików za pomocą pamięci USB. Jednak po aktualizacji do wersji 12.10 otrzymuję tylko 200-300 kb / s, gdy próbuję wykonać tę samą operację.

Próbowałem różnych pamięci USB (które działają bezbłędnie w systemie Windows 7) i nadal mam ten sam problem. Ten sam problem wystąpił jakiś czas temu 11.10, ale wszystko było normalne, kiedy uaktualniłem do 12.04, więc może to być problem z jądrem.

Oto wynik dmseg |tail:

    mysterio@mysterio-HP-Pavilion-dv6700-Notebook-PC:~$ dmesg |tail 

[  871.023093] sdb: sdb1 
[  871.026909] sd 5:0:0:0: [sdb] No Caching mode page present 
[  871.026920] sd 5:0:0:0: [sdb] Assuming drive cache: write through 
[  871.026927] sd 5:0:0:0: [sdb] Attached SCSI removable disk 
[ 1036.226206] ISO 9660 Extensions: Microsoft Joliet Level 3 
[ 1036.233561] ISO 9660 Extensions: RRIP_1991A 
[ 1086.342973] ISO 9660 Extensions: Microsoft Joliet Level 3 
[ 1086.343010] ISO 9660 Extensions: RRIP_1991A 
[ 1173.971357] ISO 9660 Extensions: Microsoft Joliet Level 3 
[ 1173.971441] ISO 9660 Extensions: RRIP_1991A

Zaktualizowałem system o najnowsze aktualizacje. Co może być nie tak?


1
Może być wiele przyczyn. Uruchom „dmesg | tail” w terminalu po podłączeniu napędu USB i opublikuj wyjście. To powinno dać wskazówki, jeśli występują problemy ze sterownikami. Powiedz nam także, jaki system plików znajduje się na twoim pendrivie (może na przykład być tak, że pamięć zarezerwowana na dziennik systemu plików kronikowania powoli umiera, a zatem spada wydajność).
soulsource,

Jak sformatowana jest pamięć USB?
Mitch

Odpowiedzi:


22

Obawiam się, że twój problem nie ma rozwiązania. Niska prędkość transferu USB to złudzenie w historii Ubuntu, która pojawia się i znika od czasu do czasu. Dzieje się tak, ponieważ programiści w większości przypadków nie są w stanie odtworzyć tego problemu, a wtedy żadne rozwiązanie nie zostanie wydane.

Widać fenomen dyskusji na temat niskiej prędkości transferu USB w Ubuntu (i jego „kuzynach”). Na przykład możesz zobaczyć ten wątek , tę dyskusję i ten inny wątek .

Niektórzy twierdzą, że włączenie lub wyłączenie obsługi starszych urządzeń USB w systemie BIOS rozwiązuje problem, chociaż wydaje się, że są to szczególne rzadkie przypadki.

W LaunchPad zgłoszono błąd, który przedstawia obejście problemu, ale ponieważ jest on nieco przestarzały, nie mogę obecnie ocenić jego skuteczności. Obejście problemu zostało przedstawione przez Jean Pierre'a w Bug # 66115, który opowiada o obejściu tego komentarza, a następnie w tym bardziej szczegółowym komentarzu .

Gorąca dyskusja dotyczy włączenia trybu synchronizacji, gdy Nautilus montuje urządzenie, chociaż poza Konquerorem (odpowiednikiem KDE dla Nautilusa) nie znalazłem nikogo, kto wyłączyłby opcję synchronizacji dla Nautilusa.

Niektóre obejścia wątpliwej skuteczności zostały omówione w tym pytaniu dla superużytkownika .

Jeśli nie będziesz miał szczęścia, powiem ci, że obecnie nie ma rozwiązania problemu.

Obecnie w programie LaunchPad zgłaszany jest błąd, który można oznaczyć jako problem, który dotyczy ciebie. Jeśli twój sprzęt różni się od tego, który jest zgłaszany na podstawie błędu, możesz dodać komentarz zgłaszający twój uszkodzony sprzęt.


1
Tak samo się obawiałem. W każdym razie, ponieważ 13.04 jest już za kilka dni, nowa wersja jądra powinna go rozwiązać
Mysterio

3
Wystarczy pamiętać, że istnieje już raport o błędzie bugs.launchpad.net/ubuntu/+source/linux/+bug/500069
desgua

@desgua Dziękuję za link, chociaż wciąż podkreślam potrzebę zgłoszenia błędu, ponieważ problem w Bug # 500069 różni się od problemu Mysterio, jego problemem jest powolna szybkość transferu, a nie zawieszanie się systemu podczas przesyłania danych, aw przypadku USB związane problemy w większości przypadków poprawki dotyczące jednego sprzętu mogą nie działać w innym, dlatego lepiej jest utworzyć nowy raport o błędzie.
Rodrigo Martins

2
@RodrigoMartins „Zamrożenie” w tytule powinno być zabawne i przyciągać uwagę. Tytuł dziury brzmi: „Transfer plików USB powoduje zawieszanie się systemu; operacje zajmują godziny zamiast minut”
desgua

1
@desgua Przepraszamy za to, że moim ojczystym językiem nie jest angielski i czasami nie rozumiem żartów haha
Rodrigo Martins

7

Pomimo pesymizmu bardzo dokładnej odpowiedzi Rodrigo, podejrzewam, że większość tych przypadków jest po prostu spowodowana domyślnym zachowaniem usbmount lub równoważnych programów obsługi hotplug do wymuszenia zapisu na dysk zamiast buforowania. Powinieneś sprawdzić, czy urządzenie syncjest włączone, np. Szukając odpowiedniej linii z cat /proc/mounts. Może to wyglądać mniej więcej tak:

/dev/sdb1 /media/usb0 fuseblk,sync,rw,nosuid,nodev,noexec,noatime,user_id=0,group_id=0,allow_other,blksize=4096 0 0

Zwróć uwagę na syncflagę. Musisz temu zapobiec. Jeśli montujesz ręcznie, powinieneś zmienić wpis fstab jak w tej odpowiedzi . Jeśli jest automatycznie zamontowany, spójrz na dane wyjściowe tail /var/log/syslogzaraz po podłączeniu i poszukaj linii takiej jak:

Jul 21 19:28:51 my-machine usbmount[3823]: executing command: mount -tntfs -sync,onoexec,nodev,noatime,nodiratime /dev/sdb1 /media/usb0

Jeśli jest montowany przez usbmount, możesz postępować zgodnie z moją radą w innej odpowiedzi i zmienić MOUNTOPTIONSlinię /etc/usbmount/usbmount.confz:

MOUNTOPTIONS="sync,noexec,nodev,noatime,nodiratime"

do

MOUNTOPTIONS="noexec,nodev,noatime,nodiratime"

1
Zmiana moich opcji montowania w celu usunięcia synchronizacji właśnie przeniosła moją kopię pliku z przewidywanych 4+ godzin do ~ 4 + minut. Cieszę się, że próbowałem !! To jest do przesłania pliku o pojemności 3,3 GB na pamięć USB 4 GB przy użyciu USB 1.1 [może to być USB2, ale jestem prawie pewien, że to 1.1].
pbhj

1

Istnieją różne powody, dla których transfer USB jest wolny:

  1. Rozmiar kopiowanych plików. (im sampler plików, tym wolniej się robi)
  2. Szybkość pamięci USB.
  3. Sposób formatowania pamięci USB (NTFS, Fat32 lub EXT4)

Więc jeśli pamięć jest sformatowana jako NTFS, czytaj dalej.

NTFS w systemie Linux działa nieco inaczej niż większość innych sterowników systemu plików, dlatego dane, które mają być zapisane w systemie plików NTFS, faktycznie przechodzą przez procesor. W przypadku większości systemów plików procesor nie zajmuje się bezpośrednio danymi, które mają zostać zapisane.

Dlatego pisanie na pendrive sformatowanym w systemie plików NTFS w systemie Linux jest wolne niż pisanie do systemu plików NTFS w systemie Windows. Możesz więc sformatować pamięć USB jako Ext4 (tylko Linux) lub fat32 działa w obie strony, ale ma ograniczenie rozmiaru pliku 4 GiB.


Mam podobne spowolnienie / zawieszanie się (nawet mysz przestaje działać), teraz wypróbowałem Ext4 i nadal mam ten problem (ubuntu 14).
bartosz.r

1

Edytowałem /etc/usbmount/usbmount.conf na serwerze Ubuntu 15.10, usunąłem słowo „synchronizacja” z tego wiersza:

MOUNTOPTIONS="sync,noexec,nodev,noatime,nodiratime"

jak wspomniano wcześniej przez Rodrigo Martins (wielkie dzięki!).

Zwiększył prędkość zapisu dla podłączonego dysku twardego 480 Mb / s z 2 Mb / s do stałej 20 Mb / s, ale jest stały i rzeczywisty, nie „buforowany”, a nie prędkość wirtualną. Ten dysk zapisuje około 30 Mb / s na komputerze z systemem Windows.


0

Nie wiem, czy to pomoże komukolwiek innemu, ale to działało dla mnie, gdy miałem problemy z naprawdę niskimi prędkościami transferu przy użyciu Ubuntu 13.04 (prędkości 1 Mb / s lub mniej). W każdym razie zrestartowałem komputer z dyskiem twardym USB podłączonym do portu USB tuż przed uruchomieniem Ubuntu, uruchomił jakiś skrypt na czarnym ekranie tuż przed jego załadowaniem, a potem moje prędkości transferu były naprawdę dobre na niskich prędkościach 24 Mb / s.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.