Когда я копирую файлы на устройство USB, это занимает гораздо больше времени, чем в Windows (то же устройство USB, тот же порт), это быстрее, чем скорости USB 1.0 (1 МБ / с), но намного медленнее, чем скорости USB 2.0 (12 МБ / с) , Для копирования 1,8 ГБ у меня уходит более 10 минут (это должно быть < 3 мин.) У меня есть две идентичные флешки SanDisk Cruzer 8 ГБ, и у меня одна и та же проблема с обоими. У меня есть супер талантливый 32 ГБ USB SSD в соседнем порту, и он работает с ожидаемой скоростью.
Проблема, которую я вижу в графическом интерфейсе, заключается в том, что индикатор выполнения почти мгновенно достигает 90%, немного медленнее завершает работу до 100% и затем зависает там в течение 10 минут. Прерывание копирования в этот момент может привести к повреждению в конце файла. Если я подожду, пока копия завершится успешно,
Есть идеи? вывод dmesg ниже:
[64059.432309] usb 2-1.2: new high-speed USB device number 5 using ehci_hcd
[64059.526419] scsi8 : usb-storage 2-1.2:1.0
[64060.529071] scsi 8:0:0:0: Direct-Access SanDisk Cruzer 1.14 PQ: 0 ANSI: 2
[64060.530834] sd 8:0:0:0: Attached scsi generic sg4 type 0
[64060.531925] sd 8:0:0:0: [sdd] 15633408 512-byte logical blocks: (8.00 GB/7.45 GiB)
[64060.533419] sd 8:0:0:0: [sdd] Write Protect is off
[64060.533428] sd 8:0:0:0: [sdd] Mode Sense: 03 00 00 00
[64060.534319] sd 8:0:0:0: [sdd] No Caching mode page present
[64060.534327] sd 8:0:0:0: [sdd] Assuming drive cache: write through
[64060.537988] sd 8:0:0:0: [sdd] No Caching mode page present
[64060.537995] sd 8:0:0:0: [sdd] Assuming drive cache: write through
[64060.541290] sdd: sdd1
[64060.544617] sd 8:0:0:0: [sdd] No Caching mode page present
[64060.544619] sd 8:0:0:0: [sdd] Assuming drive cache: write through
[64060.544621] sd 8:0:0:0: [sdd] Attached SCSI removable disk
Проблема, которую я вижу в графическом интерфейсе пользователя, заключается в том, что индикатор выполнения переходит в 90% почти мгновенно, завершается до 100% немного медленнее, а затем зависает в течение 10 минут.
Одна вещь, которую вам нужно понять, - это кеширование файлов. Linux (и Windows) будет использовать «пустую» оперативную память для кэширования операций чтения / записи и ускорения их при последующих обращениях. Кэширование операций копирования на медленные устройства приводит к тому поведению, которое вы видите - «быстрое завершение» на самом деле записывает в кеш, а затем замедляется и останавливается, потому что фактический сброс данных в кеш (синхронизация) на медленное устройство занимает очень много времени. Если вы прерветесь на этом этапе, данные будут повреждены (как вы отметили), поскольку синхронизация никогда не завершалась.
Такое копирование в Windows может показаться более быстрым (включая заявленные скорости в МБ / с)потому что иногда Windows не будет ждать синхронизации и объявлять задание завершенным, как только данные будут записаны в кэш.
Для копирования 1,8 ГБ
Из-за особенностей работы флеш-памяти и файловых систем максимальная пропускная способность (скорость) достигается при записи очень больших файлов. Запись большого количества маленьких файлов или даже смешанных данных, содержащих несколько маленьких файлов, может сильно замедлить процесс. Это также влияет на жесткие диски, но в несколько меньшей степени.
У меня есть супер-талантливый 32-гигабайтный USB-SSD в соседнем порту, и он работает на ожидаемые скорости.
USB-накопитель типа «садовый» обычно состоит из микросхем флэш-памяти, которые записываются последовательно (последовательно) и не имеют собственной кэш-памяти.
SSD, с другой стороны, содержит контроллер, который записывает на микросхемы флэш-памяти параллельно , увеличивая пропускную способность в 2 раза или более по сравнению с USB-накопителем.
Итак, с одним большим файлом ваши 32 ГБ с предполагаемой структурой 4x будут в 4 раза быстрее; со многими небольшими файлами он будет в 10 раз или более быстрее, потому что он может разумно хранить их в своем кэше.
Подводя итог , это причины, по которым копирование файлов на USB-накопители может казаться медленнее в Linux. Действительно ли он медленнее из-за проблем с оборудованием / драйверами или чем-то еще ...
dd if = / dev / urandom of = largetest bs = 1M count = 7500
, что дает вам тестовый файл размером 7500 МБ. Предполагая, что ваша система имеет менее 4 ГБ ОЗУ, этого достаточно. Скопируйте его на недавно отформатированную карту Sandisk 8 ГБ и установите время. largetest
с USB-накопителя на жесткий диск. Перезагрузите снова (чтобы удалить из кеша). Затем отформатируйте USB-накопитель (тот же vfat / FAT32!) И скопируйте largetest
с жесткого диска на карту. Я думаю, что вероятность того, что это проблема порта, очень мала. Скорее всего, это проблема с LINUX (или конфигурацией Linux) - погуглите, и вы найдете тысячи отчетов о проблемах с медленным USB в linux / ubuntu. Для меня это почти стоппер для Linux - теперь у меня есть Ubuntu 12.04 LTS, и эта проблема все еще есть (поэтому я предпочитаю использовать настройку Win7 - в основном / только из-за этого). Эта проблема (или что-то с похожими симптомами) существует уже несколько лет и, по-видимому, не исправлена. И за это время я попробовал несколько физических ПК с несколькими разными версиями ubuntu (конфигурация по умолчанию) и 2-3 разными USB-накопителями ....
Если вы переключитесь на USB 3.0, вы перейдете с 1 МБ / с на скорость передачи 5-8 МБ / с. Я переключаюсь на 3.0 USB pci и внешний HD и не оглядываюсь назад.
У меня тоже была эта проблема, но я использую команду cp, и вы обновляете USB-накопитель за секунды;
cp -r -u /home/user/Muziek/ /media/user/Audiousbsti
cp -r -u /home/user/Muziek/ /media/user/4F49-4A65/
Я думаю, что это очень поздний ответ, но он все еще открыт.
Когда вы смотрите в / etc / mtab, видите ли вы, что устройство было установлен с опцией "flush"?
Если да, то это могло быть причиной проблемы (это было для меня). Просто отключите устройство и снова подключите его, оно не должно быть установлено по умолчанию.
Хорошо, у меня была одна и та же проблема в течение трех дней, и как мне удалось сделать резервную копию моего 1 ТБ жесткий диск использовался с помощью rsync, я знаю, что он используется для резервного копирования, но он выполнил свою работу, даже при передаче больших файлов я использую его для этой работы. Если вы хотите использовать его с графическим интерфейсом, я предлагаю установить Grsync, который является графической версией rsync, поскольку rsync работает на терминале.
Надеюсь, это помогло
Просто размонтируйте
устройство, если оно уже установлено автоматически, и вручную смонтируйте его в / mnt / foldername
.
В моем случае,
umount /media/usb0
mount /dev/sdb1 /mnt/sam
После этого он очень быстро справляется.
У меня тоже были проблемы со скоростью передачи данных на внешнем диске WD, после открытия в windows SO я всегда использовал LINUX, после этого скорость передачи данных была примерно 1.5 Мб/с, чем при размонтировании внешнего жесткого диска запускался dmesg, там говорилось, что sdb1 его непорядочно размонтировали, запустили fsck, сделали несколько поправлений и после этого снова скорость передачи данных 20 Мб/с при копировании с sda на внешний диск. fsck всегда рискованно, если у вас есть данные, но это работало на меня, без потери данных.
Нашел исправление, все, что я сделал, - это отключил, удалил диск и запустил sudo modprobe ehci_hcd
в Терминале. Вставьте диск и agian sudo modprobe ehci_hcd
, когда я вставил диск и
вау 20 / мб, думал поделюсь. Надеюсь, мне не придется делать это каждый раз ... но это несложно ...
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/177235 говорит, что они исправили ошибку.
Сейчас 2019 год, и у меня все еще та же проблема. Итак, я решил, что ищу решение в Интернете. Я нашел следующую страницу, которая предлагает один: https://gist.github.com/2E0PGS/f63544f8abe69acc5caaa54f56efe52f
Там написано:
Выполните следующие команды в консоли, чтобы увидеть, решит ли это проблему для вас . Вам может потребоваться sudo su
, чтобы получить необходимое разрешение.
echo $((16*1024*1024)) > /proc/sys/vm/dirty_background_bytes
echo $((48*1024*1024)) > /proc/sys/vm/dirty_bytes
Если это сработает, вы можете сделать это изменение постоянным после перезагрузки, вставив две строки в конец вашего / etc / rc .local
файл.
Для меня это имело следующий эффект:
Предварительное копирование больших файлов на USB-накопитель начиналось очень быстро (например, 60 МБ / с) и становилось все медленнее и медленнее (<10 МБ / s), пока не стало казаться, что он никогда не закончится.
Теперь он начинается медленнее, но становится все быстрее и быстрее и заканчивается раньше, чем раньше. Так что, похоже, это «решает» проблему или, по крайней мере, дает положительный эффект.
Это старый вопрос. Также у меня была такая же проблема долгое время. Недавно я нашел решение здесь . Я сделал следующее:
Переформатировал USB с FAT
на NTFS
.