
У меня есть внешний жесткий диск. Только сегодня я пытался скопироватьбольшефайл (это был фильм ~230 МБ) и сначала он рванул вверх до ~70%. Потом начал уменьшаться.
- Сначала скорость была около 56 МБ/с.
- Затем скорость резко упала до 23 МБ/с (передача файла была завершена на 70%).
- Затем скорость начала медленно снижаться, пока не достигла примерно 2 МБ/с (файл был готов примерно на 90%).
- По завершении передачи скорость была чуть выше 1,5 МБ/с.
Описать это графически: Если бы вы нарисовали кривую убывания, она, вероятно, напоминала бы график логарифмической функции.
Итак, на самом деле я спрашиваю: «Почему это происходит?" и "Есть ли способ обойти это?"
Спасибо!
решение1
Возможные причины:
- Большинство операционных систем не будут немедленно записывать данные на диск, а буферизуют или «кэшируют» их в оперативной памяти и ждут, чтобы фактически записать их. Это потому, что
- С точки зрения скорости эффективнее отправлять пакет данных на диск сразу и
- Журналирование NTFS/ext3/ext4 работает эффективно, если оно регистрирует кучу транзакций вместо отдельных записей секторов. Таким образом, небольшой объем начальных данных записи будет сообщен как завершенный, и это произойдет быстро, а фактическая запись на диск будет выполнена позже. По мере того, как записи создают файлы буфера, а затем скорость соответствует фактической физической скорости записи или средней скорости. Хотя IIRC в Windows, это отключено по умолчанию для съемных дисков, настройка может быть не такой в вашей системе.
- Большинство жестких дисков имеют некоторое количество оперативной памяти в качестве буфера. Это может быть второй уровень "кэша" между вами и жестким диском. Я не уверен, используют ли жесткие диски его для записи, но, возможно, некоторые используют.
- Жесткий диск может быть фрагментирован в момент падения скорости передачи файлов.
- Если предположить Windows, я полагаю, что "приоритеты ввода-вывода" - это функция, введенная в Windows Vista и продолжавшаяся до 7. Возможно, ввод-вывод управляющего процесса был деприоритетирован в ядре после того, как он немного поработал в пользу более недавно использованного или интерактивного процесса. Это всего лишь предположение, и я вообще не уверен, как эта функция на самом деле работает.
- Другие USB-соединения на том же корневом USB-концентраторе могут привести к конфликту на шине и замедлению работы.