Почему передача файла USB такая медленная в 12.10?


12

Я получал обычные 4-8 Мбит / с в 12.04 при копировании файлов через флешки. Однако после обновления до 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 | tail» в терминале после подключения USB-накопителя и опубликуйте вывод. Это должно дать подсказки, если есть проблемы с драйверами. Также, пожалуйста, сообщите нам, какая файловая система находится на вашем флеш-накопителе (например, может случиться так, что память, зарезервированная для журнала файловой системы журналирования, медленно умирает и, следовательно, производительность падает).
— soulsource

Как отформатировать флешку?
— Митч

Ответы:


22

Боюсь, что у вашей проблемы нет решения. Медленная скорость передачи USB - это призрак в истории Ubuntu, который время от времени приходит и исчезает. Это происходит потому, что разработчики в большинстве случаев не могут воспроизвести эту проблему, и тогда решение не будет выпущено.

Вы можете увидеть феномен дискуссий о медленных скоростях передачи USB в Ubuntu (и его "кузенах"). Например, вы можете увидеть эту ветку , эту дискуссию и эту другую ветку .

Некоторые говорят, что включение или отключение Legacy USB Support в BIOS решает проблему, хотя это кажется редкими конкретными случаями.

В LaunchPad сообщается об ошибке, которая представляет обходной путь для этой проблемы, но, поскольку она несколько устарела, в настоящее время я не могу оценить ее эффективность. Обходной путь представлен Жаном Пьером в Bug # 66115, он говорит об обходном пути в этом комментарии и после в этом более подробном комментарии .

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

Некоторые обходные пути сомнительной эффективности обсуждаются в этом вопросе супер-пользователя .

Если вам не повезло, я скажу вам, что в настоящее время не существует решения этой проблемы.

В настоящее время в LaunchPad сообщается об ошибке, и вы можете пометить ее как проблему, которая затрагивает вас. Если ваше оборудование отличается от того, о котором сообщается в сообщении об ошибке, вы можете добавить комментарий о вашем уязвимом оборудовании.


1
Я так боялся. В любом случае, поскольку до 13.04 осталось всего пару дней, новая версия ядра должна решить эту проблему
— Mysterio

3
Просто чтобы вспомнить, что уже есть отчет об
— desgua

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

2
@RodrigoMartins "замораживание" в названии должно быть забавным и привлекать внимание. Заголовок отверстия: «Передача файлов через USB приводит к зависанию системы; операции занимают часы, а не минуты»
— desgua

1
@desgua Извините за это, мой родной язык не английский, и иногда я не получаю шутки ха-ха
— Родриго Мартинс

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 ГБ файла на USB-накопитель 4 ГБ с использованием USB1.1 [это может быть USB2, но я уверен, что это 1.1].
— pbhj

1

Ну, есть несколько причин, почему USB-передача медленная:

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

Так что, если флешка отформатирована как NTFS, продолжайте читать.

NTFS в Linux работает немного иначе, чем большинство других драйверов файловой системы, поэтому данные, которые должны быть записаны в файловую систему NTFS, фактически проходят через ЦП. Для большинства файловых систем ЦП не имеет непосредственного отношения к записываемым данным.

Вот почему запись на отформатированную карту NTFS в Linux медленнее, чем запись в NTFS в Windows. Таким образом, вы можете отформатировать USB-накопитель как Ext4 (только для Linux) или fat32, который работает в обоих направлениях, но имеет ограничение размера файла 4 ГБ.


У меня похожая медлительность / зависание (даже мышь перестает работать), теперь я попробовал Ext4, и у меня все еще есть эта проблема (Ubuntu 14).
— bartosz.r

1

Я отредактировал /etc/usbmount/usbmount.conf на сервере Ubuntu 15.10, удалил слово «sync» из этой строки:

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

как упоминалось ранее Родриго Мартинс (большое спасибо!).

Он увеличил скорость записи для подключенного жесткого диска на 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.