Скопировать на USB-накопитель очень медленно?

Когда я копирую файлы на USB-устройство, это занимает гораздо больше времени, чем в Windows (одно и то же устройство USB, тот же порт), это быстрее, чем скорость USB 1.0 (1 МБ /с), но намного медленнее, чем скорость USB 2.0 (12 МБ /с) , Чтобы скопировать 1,8 ГБ, мне понадобилось более 10 минут (это должно быть <3 мин.) У меня есть две идентичные палочки SanDisk Cruzer 8GB, и у меня такая же проблема с обоими. У меня супер-талант 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
usb
41 голос | спросил Eloff 15 AMpSun, 15 Apr 2012 01:46:15 +040046Sunday 2012, 01:46:15

9 ответов


25

Почему копирование на мой USB-накопитель настолько медленное в Linux (и быстрее в Windows)?

Причина 1. Кэширование файлов может сделать записи появляться медленнее или быстрее

  

Проблема, которую я вижу в графическом интерфейсе, заключается в том, что индикатор выполнения достигает 90% почти мгновенно, заканчивается на 100% немного медленнее, а затем висит там в течение 10 минут.

Одна вещь, которую вам нужно понять, это кэширование файлов. Linux (и Windows) будет использовать в противном случае «пустую» оперативную память для кэширования операций чтения /записи и ускорения их при последующих обращениях. Кэширование операций копирования для медленных устройств приводит к поведению, которое вы видите - «быстрое завершение» на самом деле записывается в кеш, а затем оно замедляется и останавливается, поскольку фактическая очистка данных в кеше (синхронизация) с медленным устройством занимая очень много времени. Если вы прервете в этот момент, данные будут повреждены (как вы отметили), так как синхронизация не была завершена.

Такое копирование в Windows может показаться более быстрым (включая скорость передачи сообщений в режиме MB /sec), потому что иногда Windows не ждет для синхронизации и объявляет о завершении задания поскольку данные записываются в кеш.

Причина 2. Написание большого количества файлов, особенно маленьких, выполняется медленно

  

Чтобы скопировать 1,8 ГБ

Из-за того, как работают флеш-память и файловые системы, самая быстрая пропускная способность (скорость) достигается при записи очень больших файлов. Запись большого количества небольших файлов или даже смешанных данных, содержащих несколько небольших файлов, может замедлить процесс. Это также влияет на жесткие диски, но в несколько меньшей степени.

Причина 3. Скорость записи USB-накопителя и SSD не сравнивается

  

У меня есть супер-талант 32 ГБ USB SSD в соседнем порту, и он работает на ожидаемых скоростях.

  • USB-накопитель с садовым разнообразием обычно состоит из микросхем флэш-памяти, которые записываются последовательно (последовательно) и не имеют собственного кеша.

  • С другой стороны, SSD содержит контроллер, который записывает микросхемы флэш-памяти parallel , увеличивая пропускную способность в 2 раза и более по USB-накопителю.

    • Если ваш 32-гигабайтный SSD имеет 4x 8GB-чипы, он все равно будет в 4 раза быстрее, чем USB-накопитель при любой операции записи.
    • SSD также содержит кеш RAM (например, жесткие диски), поэтому он может быстро хранить входящие данные в кеше и сообщать ОС, что он сделан, в то время как он по-прежнему должен фактически записывать эти данные в флэш-памяти.
  • Итак, с одним большим файлом, ваш 32 ГБ GB с 4х структурой, которую мы предположили, будет 4 раза быстрее; с большим количеством небольших файлов, это будет 10x или более быстрее, потому что это может разумно хранить их в кеше.


Подводя итог , это причины, по которым копирование файлов на USB-накопители может выглядеть медленнее в Linux. Это на самом деле медленнее из-за проблемы с оборудованием /драйвером или что-то еще ....

Выполнение правильного сравнения скоростей записи между Linux и Windows

  • Прежде всего, забудьте о SSD из-за причины 3. Это похоже на апельсины и яблоки.
  • Чтобы свести на нет эффекты разума 1 (кэширование) и причины 2 (небольшие файлы), вам необходимо протестировать один большой файл, превышающий объем оперативной памяти в тестовой системе.
  • В Linux вы можете создать его с помощью dd if=/dev/urandom of=largetest bs=1M count=7500, который даст вам тестовый файл 7500 МБ. Предполагая, что ваша система имеет объем памяти менее 4 ГБ, это достаточно хорошо. Скопируйте это в только что отформатированный джойстик Sandisk 8GB и запустите его.
  • Перезагрузитесь в Windows и скопируйте largetest с USB-накопителя на жесткий диск. Перезагрузите снова (чтобы удалить его из кеша). Затем отформатируйте USB-накопитель (тот же vfat /FAT32!) И скопируйте largetest с жесткого диска на палку.
  • Как сравнить время?
ответил ish 31 Mayam12 2012, 08:56:53
7

Я думаю, что шансы очень низкие, что это проблема портов. Скорее всего, проблема с LINUX (или linux configuration) - googgle around, и вы найдете тысячи отчетов о медленном USB в linux /ubuntu. Для меня это почти showstopper для linux - теперь у меня есть Ubuntu 12.04 LTS, и у меня все еще есть эта проблема (поэтому я предпочитаю использовать настройку Win7 - главным образом /только из-за этого). Эта проблема (или что-то с подобными симптомами) существует уже несколько лет, по-видимому, нет исправления. И за это время я попробовал несколько физических ПК с несколькими различными версиями ubuntu (по умолчанию) и 2-3 различными USB-накопителями ....

ответил Peter 22 J0000006Europe/Moscow 2013, 21:13:02
6

Нашел исправление, все, что я сделал, было размонтирование, удаление диска и запуск sudo modprobe ehci_hcd в терминале. Вставьте диск и agian sudo modprobe ehci_hcd, когда я вставляю диск и wow 20 /mbs подумал, что я поделюсь. Надеюсь, мне не нужно делать это каждый раз ... но это не сложно ...

https://bugs.launchpad.net/ubuntu/+source /Linux /+ ошибка /177235 говорит, что они исправили ошибку.

ответил Dj Radio 4 Mayam12 2012, 11:03:24
4

Просто umount устройство, если оно уже автомонтировано, и вручную смонтируйте его на /mnt/foldername.

В моем случае

umount /media/usb0
mount /dev/sdb1 /mnt/sam

После этого он очень быстро справляется.

ответил msnfreaky 10 WedEurope/Moscow2014-12-10T20:13:46+03:00Europe/Moscow12bEurope/MoscowWed, 10 Dec 2014 20:13:46 +0300 2014, 20:13:46
1

Если вы перейдете на USB 3.0, вы перейдете от 1 мб /с до 5-8 мб /с. Я переключаюсь на USB 3.0 и внешний HD и не оглядывался назад.

ответил Ghost logger 26 Maypm12 2012, 13:53:49
1

Когда вы смотрите в /etc /mtab, вы видите, что устройство смонтировано с опцией «flush»?

Если это так, это может быть причиной проблемы (это было для меня). Просто отключите устройство и перемонтируйте его, его не следует устанавливать по умолчанию.

ответил GarfieldElCat 23 MarpmSun, 23 Mar 2014 15:30:46 +04002014-03-23T15:30:46+04:0003 2014, 15:30:46
0

У меня были проблемы со скоростью передачи на внешнем диске WD, после открытия его в Windows SO я всегда использовал LINUX, после чего скорость передачи была равна 1,5 Мб /с, чем я отключил внешний жесткий диск, запущенный dmesg там было сказано, что sdb1 он был unreperly unmounted, запустил fsck, который сделал несколько ремонтов и после этого 20 Мб /с скорости передачи снова, когда копируется с sda на внешний диск. fsck всегда является риском, если у вас есть данные, но он работал для меня, без потери данных.

ответил anymamundy 9 12015vEurope/Moscow11bEurope/MoscowMon, 09 Nov 2015 13:36:48 +0300 2015, 13:36:48
-2

У меня также была эта проблема, но я использую команду cp, и вы обновляете свою ручку usb в секундах;

cp -r -u /home/user/Muziek/ /media/user/Audiousbsti
cp -r -u /home/user/Muziek/ /media/user/4F49-4A65/

Я думаю, что это очень поздний ответ, но он все еще открыт.

ответил Bart 23 Maypm17 2017, 16:03:49
-3

Хорошо, у меня была такая же проблема в течение трех дней, и как мне удалось создать резервную копию моего жесткого диска 1 ТБ, я использовал rsync, я знаю, что он используется для резервного копирования, но он выполнил эту работу даже при передаче больших файлов. используйте его для выполнения этой работы. Если вы хотите использовать его с графическим интерфейсом, я предлагаю установить Grsync, который представляет собой графическую версию rsync, поскольку rsync работает на терминале.

Надеюсь, что это помогло

ответил Perfect 28 ThuEurope/Moscow2017-12-28T23:57:45+03:00Europe/Moscow12bEurope/MoscowThu, 28 Dec 2017 23:57:45 +0300 2017, 23:57:45

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132