Скорость передачи данных по USB "логарифмически" уменьшается. Почему и можно ли ее улучшить?

Скорость передачи данных по USB "логарифмически" уменьшается. Почему и можно ли ее улучшить?

У меня есть внешний жесткий диск. Только сегодня я пытался скопироватьбольшефайл (это был фильм ~230 МБ) и сначала он рванул вверх до ~70%. Потом начал уменьшаться.

  • Сначала скорость была около 56 МБ/с.
  • Затем скорость резко упала до 23 МБ/с (передача файла была завершена на 70%).
  • Затем скорость начала медленно снижаться, пока не достигла примерно 2 МБ/с (файл был готов примерно на 90%).
  • По завершении передачи скорость была чуть выше 1,5 МБ/с.

Описать это графически: Если бы вы нарисовали кривую убывания, она, вероятно, напоминала бы график логарифмической функции.


Итак, на самом деле я спрашиваю: «Почему это происходит?" и "Есть ли способ обойти это?"

Спасибо!

решение1

Возможные причины:

  • Большинство операционных систем не будут немедленно записывать данные на диск, а буферизуют или «кэшируют» их в оперативной памяти и ждут, чтобы фактически записать их. Это потому, что
    1. С точки зрения скорости эффективнее отправлять пакет данных на диск сразу и
    2. Журналирование NTFS/ext3/ext4 работает эффективно, если оно регистрирует кучу транзакций вместо отдельных записей секторов. Таким образом, небольшой объем начальных данных записи будет сообщен как завершенный, и это произойдет быстро, а фактическая запись на диск будет выполнена позже. По мере того, как записи создают файлы буфера, а затем скорость соответствует фактической физической скорости записи или средней скорости. Хотя IIRC в Windows, это отключено по умолчанию для съемных дисков, настройка может быть не такой в ​​вашей системе.
  • Большинство жестких дисков имеют некоторое количество оперативной памяти в качестве буфера. Это может быть второй уровень "кэша" между вами и жестким диском. Я не уверен, используют ли жесткие диски его для записи, но, возможно, некоторые используют.
  • Жесткий диск может быть фрагментирован в момент падения скорости передачи файлов.
  • Если предположить Windows, я полагаю, что "приоритеты ввода-вывода" - это функция, введенная в Windows Vista и продолжавшаяся до 7. Возможно, ввод-вывод управляющего процесса был деприоритетирован в ядре после того, как он немного поработал в пользу более недавно использованного или интерактивного процесса. Это всего лишь предположение, и я вообще не уверен, как эта функция на самом деле работает.
  • Другие USB-соединения на том же корневом USB-концентраторе могут привести к конфликту на шине и замедлению работы.

Связанный контент