Когда я копирую файлы на устройство 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
sync
и посмотреть, не ускоряет ли это процесс. <- не проверено, но возможноОтветы:
Почему копирование на мой USB-накопитель происходит так медленно в Linux (и быстрее в Windows)?
Кэширование Причина 1. Файл может сделать запись появляются медленнее или быстрее
Одна вещь, которую вы должны понять, это кеширование файлов. Linux (и Windows) будут использовать в противном случае «пустую» оперативную память для кэширования операций чтения / записи и ускорения их при последующих обращениях. Кэширование операций копирования для медленных устройств приводит к поведению, которое вы видите - «быстрое завершение» фактически записывает в кеш, а затем замедляется и останавливается, потому что фактическая сброс данных в кеше (синхронизация) на медленное устройство очень долго Если вы прервете в этот момент, данные будут повреждены (как вы заметили), поскольку синхронизация никогда не завершается.
Такое копирование в Windows может показаться более быстрым (включая заявленные скорости в МБ / с), поскольку иногда Windows не будет ожидать синхронизации и объявляет задание выполненным, как только данные записываются в кэш.
Причина 2. Запись большого количества файлов, особенно маленьких, идет медленно
Благодаря тому, как работают флэш-память и файловые системы, самая высокая пропускная способность (скорость) достигается при записи очень больших файлов. Запись большого количества маленьких файлов или даже смешанных данных, содержащих множество маленьких файлов, может сильно замедлить процесс. Это касается и жестких дисков, но в несколько меньшей степени.
Причина 3. Невозможно сравнить скорости записи на USB-накопитель и твердотельный накопитель
USB-флешка садового сорта обычно состоит из микросхем флэш-памяти, которые записываются последовательно (последовательно), и не имеет собственного кэша.
SSD, с другой стороны, содержит контроллер, который записывает данные на микросхемы флэш-памяти параллельно , увеличивая пропускную способность в 2 раза или более по сравнению с USB-накопителем.
Таким образом, с одним большим файлом ваши 32 ГБ ГБ с предполагаемой структурой 4x будут в 4 раза быстрее; со многими небольшими файлами это будет в 10 или более раз быстрее, поскольку он может разумно хранить их в своем кэше.
Подводя итог , можно сказать, что это причины, по которым копирование файлов на USB-накопители может выглядеть медленнее в Linux. Это на самом деле медленнее из-за проблемы с оборудованием / драйвером или что-то еще
Правильное сравнение скорости записи между Linux и Windows
dd if=/dev/urandom of=largetest bs=1M count=7500
, что дает вам тестовый файл 7500 МБ. Предполагая, что в вашей системе менее 4 ГБ ОЗУ, этого достаточно. Скопируйте это на недавно отформатированный флеш-накопитель Sandisk 8GB и определите времяlargetest
с флешки на жесткий диск. Перезагрузите снова (чтобы удалить его из кеша). Затем отформатируйте USB-накопитель (тот же vfat / FAT32!) И скопируйтеlargetest
с жесткого диска на флешку.источник
Нашел исправление, все, что я сделал, было размонтировал, удалил диск и запустил
sudo modprobe ehci_hcd
в Терминале. Вставьте диск и agian,sudo modprobe ehci_hcd
когда я вставлю диск и вау 20 / мбс думал, что поделюсь. Надеюсь, мне не придется делать это каждый раз ... но это не сложно ...https://bugs.launchpad.net/ubuntu/+source/linux/+bug/177235 говорит, что они исправили ошибку.
источник
Я думаю, что вероятность того, что это проблема порта, очень мала. Скорее всего, это проблема LINUX (или конфигурации linux) - поищите, и вы найдете тысячи отчетов о проблемах с медленным USB в linux / ubuntu. Для меня это почти showtopper для Linux - теперь у меня Ubuntu 12.04 LTS и у меня все еще есть эта проблема (поэтому я предпочитаю использовать установку Win7 - в основном / только из-за этого). Эта проблема (или что-то с похожими симптомами) существует уже несколько лет, по-видимому, не устранена. И за это время я попробовал несколько физических ПК с несколькими разными версиями Ubuntu (конфигурация по умолчанию) и 2-3 разных USB-накопителя ....
источник
Просто
umount
устройство, если оно уже смонтировано, и подключите его вручную/mnt/foldername
.В моем случае,
После этого справляется очень быстро.
источник
rsync
неcp
кажется, делает свое дело.Сейчас 2019 год, и у меня все еще такая же проблема. Поэтому я решил, что я ищу в Интернете решение. Я нашел следующую страницу, которая предлагает один: https://gist.github.com/2E0PGS/f63544f8abe69acc5caaa54f56efe52f
Это говорит:
Выполните следующие команды в консоли, чтобы увидеть, решит ли она проблему для вас. Возможно, вам
sudo su
сначала потребуется получить необходимое разрешение.Если это работает, вы можете сделать это изменение постоянным при перезагрузке, вставив две строки в конце вашего
/etc/rc.local
файла.Для меня это имело следующий эффект:
Предварительное копирование больших файлов на USB-накопитель началось бы очень быстро (например, 60 МБ / с) и становилось все медленнее и медленнее (<10 МБ / с), пока не выглядело так, как будто оно никогда не закончится.
Теперь он начинается медленнее, но становится все быстрее и быстрее и заканчивается раньше, чем раньше. Так что, похоже, «решить» проблему или, по крайней мере, иметь положительный эффект.
источник
Если вы переключитесь на USB 3.0, вы перейдете от 1 Мбит / с до 5-8 Мбит / с. Я переключаюсь на USB 3.0 pci и внешний HD и не оглядываюсь назад.
источник
Когда вы смотрите в / etc / mtab, видите ли вы, что устройство было смонтировано с опцией «flush»?
Если это так, это может быть причиной проблемы (это было для меня). Просто размонтируйте устройство и перемонтируйте его, оно не должно быть установлено по умолчанию.
источник
У меня были некоторые проблемы также со скоростью передачи на внешнем диске WD, после открытия его в Windows SO, я всегда использовал LINUX, после этого скорость передачи была около 1,5 Мб / с, чем я отключил внешний жесткий диск, запустивший dmesg там это было говоря, что sdb1 был непонятно размонтирован, запустил fsck, который сделал несколько ремонтов и после этой скорости передачи снова 20 Мб / с при копировании с sda на внешний диск. fsck - это всегда риск, если у вас есть данные, но это сработало для меня, без потери данных.
источник
У меня тоже была эта проблема, но я использую команду cp, и вы обновляете вашу флешку за считанные секунды;
Я думаю, что это очень поздний ответ, но он все еще открыт.
источник
Хорошо, у меня была та же проблема в течение трех дней, и как мне удалось сделать резервную копию моего жесткого диска объемом 1 ТБ с помощью rsync, я знаю, что он используется для резервного копирования, но он выполнил свою работу, даже при передаче больших файлов, которые я использую для этого сделай эту работу Если вы хотите использовать его с графическим интерфейсом, я предлагаю установить Grsync, который является графической версией rsync, так как rsync работает на терминале.
Надеюсь, это помогло
источник