Почему копирование файла размером 900 МБ или 200 МБ в Windows 7 занимает так много времени?


4

Если я копирую файл размером 213 МБ, он копирует МГНОВЕННО - ну, в течение миллисекунд Если я скопирую файл размером 936 МБ, это займет около 1 минуты.

Оба файла находятся на корне моего диска E: \.

Почему такая разница? Даже если 213 МБ заняло 999 миллисекунд, последняя должна скопировать всего за несколько секунд, но это не так.

Машина имеет 4 Гб оперативной памяти, дуэт ядра и т. Д. - оба на одном диске.


2
Дефрагментирован ли диск?
— Shinrai

Пытаться codesector.com/teracopy.php и посмотрим, будет ли это быстрее, используя этот инструмент.
— Natalie Adams

Ответы:


3

Я заметил, что в Windows 7 наблюдается высокая степень кэширования. Если вы скопируете файл, который полностью поместится в доступную оперативную память, он очень быстро вернет вам управление, поэтому вы сможете выполнять работу, пока она завершает работу. скопировать в фоновом режиме.

Тем не менее, кэширование на самом деле не объясняет разницу во времени копирования файла, если только файл не находится в памяти, когда вы пытаетесь скопировать его, а другой нет. Одна минута для копии диска размером 936 МБ с диска на диск составляет около 15 мегабайт в секунду, что является приемлемой скоростью передачи.

Другими словами, я ожидаю, что копирование файла размером 936 МБ займет около минуты.


3
согласился, но тогда почему бы 213MB не занять 15 секунд или примерно 1/4 времени? Вместо этого это почти мгновенно.
— user46550

Я подозреваю, что ваш меньший файл находится в памяти. Можете ли вы перезагрузиться и перепроверить. И, возможно, проверьте, действительно ли ваш жесткий диск способен читать и / или записывать с такой скоростью (см. raymond.cc/blog/... )
— sgmoore

0

Существует ряд команд, которые выполняются каждый раз, когда вы выполняете процедуру копирования файла. Если размер файла составляет 213 МБ, вы должны выполнить эти команды (скажем, 3 шага) и одну команду чтения / записи для копирования файла.

Если ваш файл имеет размер 936 МБ, вы все равно должны выполнить 3 вышеупомянутых шага и 7 дополнительных команд чтения / записи, чтобы фактически скопировать файл.

Таким образом, 100 небольших файлов общим объемом 900 МБ содержат 100 обязательных шагов и 100 шагов «копирования», и это займет больше времени, чем копирование одного файла объемом 900 МБ

Таким образом, разница между количеством шагов, необходимых для копирования.


Даже если бы это было правдой (а я так не думаю), это не объясняет, почему происходит непропорциональное увеличение времени, необходимого для копирования файла большего размера.
— Robert Harvey

... «Если ваш файл имеет размер 936 МБ, вы все равно должны выполнить 3 вышеупомянутых шага и 7 дополнительных команд чтения / записи, чтобы фактически скопировать файл». Каждая дополнительная команда чтения / записи будет добавлять дополнительное количество времени.
— Nicu Zecheru

0

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


точно такой же диск, они оба находятся в корне диска E: \ (не то, что буква имеет значение)
— user46550

0

По моему опыту, Windows сообщит о том, что файл скопирован, как только он будет считан в память. Если у него есть буферное пространство для файла 231 МБ, но нет 900 МБ, вам придется подождать, пока он не записает достаточно файла, чтобы прочитать его конец в память. Это может быть большое количество циклов чтения-записи в разных областях диска. С большим файлом пространство может быть дальше по всему диску, что приводит к более медленным циклам чтения-записи.

Windows также изначально имеет высокую оценку копий. Я часто получаю оценки минут, и копия завершается за несколько секунд или десятков секунд.

Копирование файла в область диска рядом с источником будет быстрее, чем копирование в другое место на диске. Задержка движения головы раньше была задержкой вращения. Оба увеличиваются с расстоянием. В последнее время я не смотрел на значения задержки, но ожидаю, что движение головы все еще медленнее, чем задержка вращения.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.