Чому передача файлів usb настільки повільна в 12.10?


12

Я отримував звичайні 4-8 Мбіт в 12.04 під час копіювання файлів через USB-палички. Однак після оновлення до 12.10 я отримую лише 200-300 кбіт / с, коли намагаюся виконати ту саму операцію.

Я спробував різні USB-палички (які бездоганно працюють у Windows 7) і все ще відчуваю те саме питання. Я випробував цю проблему десь 11.10, але все було нормально, коли я оновив до 12.04, тому це може бути проблема з ядром.

Ось результат 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

Я оновив свою систему останніми оновленнями. Що може бути не так?


1
Причин може бути багато. Будь ласка, запустіть "dmesg | хвост" у терміналі після підключення USB-накопичувача та опублікуйте вихід. Це повинно дати підказки, якщо є проблеми з водієм. Також скажіть, будь ласка, яка файлова система знаходиться на вашому накопичувачі пера (можливо, наприклад, що пам'ять, зарезервована для журналу файлової системи журналу, повільно вмирає, а отже, продуктивність знижується).
— soulsource

Як форматується USB-накопичувач?
— Мітч

Відповіді:


22

Я боюся, що ваша проблема не має рішення. Швидкість передачі через повільну передачу через USB - фантом історії Ubuntu, яка час від часу виходить і відходить. Це трапляється тому, що розробники в більшості випадків не в змозі відтворити цю проблему, і тоді рішення не буде випущене.

Ви можете побачити явище дискусій про те, що швидкість передачі через USB у Ubuntu (та його «двоюрідних братів») повільна. Наприклад, ви можете побачити цю тему , цю дискусію та цю іншу тему .

Деякі кажуть, що ввімкнення або вимкнення Legacy USB Support в BIOS вирішує проблему, хоча це здається специфічним рідкісним випадком.

Повідомляється про помилку на LaunchPad, яка представляє вирішення проблеми, але оскільки вона дещо застаріла, я не можу оцінити її ефективність на сьогодні. Вирішення проблеми представлений Жаном П'єром у Bug № 66115. Він розповідає про вирішення цього коментаря та в цьому більш детальному коментарі .

Гаряча дискусія стосується того, що режим синхронізації ввімкнено, коли Nautilus монтує пристрій, хоча за межами Konqueror (KDE, еквівалентний Nautilus) я не знайшов нікого, у якого відключена опція синхронізації для Nautilus.

Деякі вирішення сумнівної ефективності обговорюються в цьому запитанні Супер Користувача .

Якщо вам не пощастило до цього часу, я скажу вам, що наразі немає проблеми для вирішення проблеми.

Наразі у LaunchPad повідомляється про помилку, і ви можете позначити це як проблему, яка впливає на вас. Якщо ваша апаратура відрізняється від тієї, про яку повідомляється про помилку, ви можете додати коментар, який повідомляє про ваше пошкоджене обладнання.


1
Я так само боявся. Інакше, оскільки 13.04 - лише пару днів, нова версія ядра повинна сподіватися на це
— Mysterio

3
Просто пам’ятайте, що вже є звіт про помилки bugs.launchpad.net/ubuntu/+source/linux/+bug/500069
— desgua

@desgua Дякую за посилання, хоча я все ж наголошую на необхідності звіту про помилку, оскільки проблема в Bug # 500069 відрізняється від проблеми Mysterio, його проблема полягає в повільній швидкості передачі даних, не зависанні системи при передачі даних, а у випадку, пов’язаному з USB проблеми в більшості випадків виправлення, які стосуються одного обладнання, можуть не працювати в іншому, тому краще створити новий звіт про помилку.
— Родріго Мартінс

2
@RodrigoMartins "Замерзає" у назві, мабуть, смішно та привертає увагу. Назва отвору: "Передача файлів USB спричиняє замерзання системи; операція займає години замість хвилин"
— дегуа

1
@desgua Вибачте за це, моя рідна мова не англійська, а іноді я не отримую жартів ха-ха
— Rodrigo Martins

7

Незважаючи на песимізм дуже грунтовної відповіді Родріго, я підозрюю, що більшість цих випадків пов'язані просто з поведінкою за замовчуванням usbmount або еквівалентними обробниками гарячих модулів, щоб змусити записувати на диск замість кешування. Ви повинні перевірити, чи syncввімкнено цей пристрій, наприклад, шукаючи відповідний рядок з cat /proc/mounts. Це може виглядати приблизно так:

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

Зверніть увагу на syncпрапор. Вам потрібно не допустити цього. Якщо ви встановлюєте вручну, слід змінити запис fstab, як у цій відповіді . Якщо це в автоматичному режимі, погляньте на висновок, tail /var/log/syslogодразу після підключення та шукайте рядок типу:

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

Якщо він встановлюється usbmount, ви можете дотримуватися моєї поради в іншій відповіді та змінити MOUNTOPTIONSрядок на /etc/usbmount/usbmount.conf:

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

до

MOUNTOPTIONS="noexec,nodev,noatime,nodiratime"

1
Змінення моїх інсталяцій для видалення синхронізації просто перемістило мою копію файлу з передбачуваних 4+ годин до ~ 4 + хвилин. Радий, що я спробував це !! Це для передачі 3,3 ГБ файлу на 4 Гб USB-накопичувача за допомогою USB1.1 [це може бути USB2, але я впевнений, що це 1,1].
— pbhj

1

Ну, є різні причини, чому передача USB відбувається повільно:

  1. Розмір файлів, що копіюються. (тим, хто продає файли, тим повільніше він стає)
  2. Швидкість USB-накопичувача.
  3. Спосіб форматування USB-накопичувача (NTFS, Fat32 або EXT4)

Тож якщо палиця відформатована як NTFS, продовжуйте читати.

NTFS в Linux працює дещо інакше, ніж більшість інших драйверів файлової системи, тому дані, що записуються у файлову систему NTFS, насправді проходять через процесор. У більшості файлових систем центральний процесор безпосередньо не обробляє дані, що записуються.

Ось чому запис на форматизовану паличку NTFS в Linux відбувається повільніше, ніж запис у NTFS у Windows. Таким чином, ви можете відформатувати USB-накопичувач як Ext4 (лише для Linux), або fat32 працює обома способами, але має обмеження розміру файлу на 4 GiB.


У мене схожа повільність / зависання (навіть миша перестає працювати), зараз я спробував Ext4, і у мене все ще є ця проблема (ubuntu 14).
— bartosz.r

1

Я відредагував /etc/usbmount/usbmount.conf на сервері Ubuntu 15.10, видалив слово "синхронізація" з цього рядка:

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

як згадував раніше Родріго Мартінс (великий THX!).

Це збільшило швидкість запису для 480 Мбіт / с підключеного жорсткого диска з 2 Мбайт / сек до постійної 20 Мбайт / сек, а це постійна та реальна, не "кешована", не віртуальна швидкість. Цей диск записує близько 30 Мбайт / сек на машині Windows.


0

Я не знаю, чи це допоможе комусь іншому, але це те, що спрацювало для мене, коли у мене виникли проблеми з дуже низькою швидкістю передачі за допомогою Ubuntu 13.04 (швидкість 1 Мб / с або менше). У будь-якому випадку я перезапустив комп’ютер, підключивши USB-порт до USB-порту безпосередньо перед запуском Ubuntu, він запустив якийсь скрипт на чорний екран безпосередньо перед завантаженням, і після цього мої швидкості передачі були дуже хорошими в нижньому кінці 24 Мб / с.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.