Я получал обычные 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
Я обновил свою систему последними обновлениями. Что может быть не так?
Боюсь, что ваш проблема не имеет решения. Низкая скорость передачи данных USB - это фантом в истории Ubuntu, который время от времени появляется и исчезает. Это происходит потому, что разработчики в большинстве случаев не могут воспроизвести эту проблему, и тогда решение не будет выпущено.
Вы можете наблюдать феномен дискуссий о низкой скорости передачи данных по USB в Ubuntu (и его «кузенах»). Например, вы можете увидеть этот поток , это обсуждение и этот другой поток .
Некоторые говорят, что включение или отключение поддержки Legacy USB в BIOS решает проблему проблема, хотя это кажется редким случаем.
На LaunchPad сообщается об ошибке, которая предлагает обходной путь для решения этой проблемы, но, поскольку она несколько устарела, я не могу оценить ее эффективность в настоящее время. Обходной путь представлен Жаном Пьером в Ошибка №66115 , он говорит об обходном пути в этом комментарии и после в этом более подробном комментарии .
Горячая дискуссия касается включения режима синхронизации, когда Nautilus монтирует устройство, хотя, помимо Konqueror (KDE эквивалент Nautilus), я не нашел никого, у кого была бы отключена опция синхронизации для Nautilus.
Некоторые обходные пути сомнительно эффективность обсуждается в этом вопросе суперпользователя .
Если вам не повезло, я скажу вам, что в настоящее время не существует решения проблемы.
В настоящее время существует ошибка сообщается в LaunchPad , и вы можете отметить это как проблему, которая затрагивает вас. Если ваше оборудование отличается от того, о котором сообщается об ошибке, вы можете добавить комментарий, сообщающий о вашем уязвимом оборудовании.
Есть несколько причин, по которым USB-передача идет медленно:
Итак, если накопитель отформатирован как NTFS продолжает чтение.
NTFS в Linux работает немного иначе, чем большинство других драйверов файловой системы, поэтому данные, которые должны быть записаны в файловую систему NTFS, фактически проходят через процессор. Для большинства файловых систем ЦП не имеет непосредственного отношения к записываемым данным.
Вот почему запись на карту с файловой системой NTFS в Linux выполняется медленнее, чем запись в NTFS в Windows. Таким образом, вы можете отформатировать USB-накопитель как Ext4 (только для Linux) или fat32, который работает в обоих направлениях, но имеет ограничение на размер файла 4 ГиБ.
Не знаю, поможет ли это кому-нибудь еще, но именно это сработало у меня, когда у меня были проблемы с очень медленной скоростью передачи при использовании Ubuntu 13.04 (скорости 1 МБ / с или меньше). В любом случае я перезапустил свой компьютер с USB-жестким диском, подключенным к USB-порту, прямо перед запуском Ubuntu, он запустил какой-то скрипт на черном экране непосредственно перед загрузкой, и после этого мои скорости передачи были действительно хорошими на нижнем уровне 24 МБ / с.
Я отредактировал /etc/usbmount/usbmount.conf на сервере Ubuntu 15.10, удалил слово «синхронизация» из этой строки:
MOUNTOPTIONS="sync,noexec,nodev,noatime,nodiratime"
, как упоминалось ранее Родриго Мартинсом (большое спасибо!) .
Он увеличил скорость записи для подключенного жесткого диска 480 Мбит / с с 2 Мбайт / сек до постоянных 20 Мбайт / сек, и это постоянная и реальная, а не "кэшированная", не виртуальная скорость. Этот диск записывает около 30 Мбайт / сек на машине Windows.
Несмотря на пессимизм очень подробного ответа Родриго, я подозреваю, что большинство этих случаев просто связано с поведением по умолчанию 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"