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

Я получал обычные 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

Я обновил свою систему последними обновлениями. Что может быть не так?

12
задан 22 April 2013 в 07:46

5 ответов

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

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

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

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

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

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

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

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

22
ответ дан 22 April 2013 в 07:46

Есть несколько причин, по которым USB-передача идет медленно:

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

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

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

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

1
ответ дан 22 April 2013 в 07:46

Не знаю, поможет ли это кому-нибудь еще, но именно это сработало у меня, когда у меня были проблемы с очень медленной скоростью передачи при использовании Ubuntu 13.04 (скорости 1 МБ / с или меньше). В любом случае я перезапустил свой компьютер с USB-жестким диском, подключенным к USB-порту, прямо перед запуском Ubuntu, он запустил какой-то скрипт на черном экране непосредственно перед загрузкой, и после этого мои скорости передачи были действительно хорошими на нижнем уровне 24 МБ / с.

0
ответ дан 22 April 2013 в 07:46

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

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

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

Он увеличил скорость записи для подключенного жесткого диска 480 Мбит / с с 2 Мбайт / сек до постоянных 20 Мбайт / сек, и это постоянная и реальная, а не "кэшированная", не виртуальная скорость. Этот диск записывает около 30 Мбайт / сек на машине Windows.

1
ответ дан 22 April 2013 в 07:46

Несмотря на пессимизм очень подробного ответа Родриго, я подозреваю, что большинство этих случаев просто связано с поведением по умолчанию usbmount или эквивалентных обработчиков горячего подключения, которые заставляют запись на диск вместо кеширования. Вы должны проверить, включена ли синхронизация для устройства, например, посмотрев соответствующую строку в 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"
8
ответ дан 22 April 2013 в 07:46

Другие вопросы по тегам:

Похожие вопросы: