Скорость копирования файлов на USB-диск
Может кто-нибудь объяснить это:
Я хочу скопировать некоторые большие файлы с моего macbook на локальный USB-диск
Я могу сделать это двумя способами:
1) cd в каталог на моем macbook, затем скопируйте, например:
$ cd ~/Downloads
$ cp file /Volume/usb/...
или
2) cd в целевой каталог на моем USB-диске и затем скопируйте из каталога macbook, например:
$ cd /Volume/usb
$ cp ~/Downloads/file .
Я случайно обнаружил, что метод 2 примерно в 4 раза быстрее, чем метод 1) - любая идея, почему это так. Всегда ли это или просто
особенность OS-X. Мне кажется очень странным. Я повторил
эксперимент несколько раз - и он намного быстрее подключается к USB и копирует его, а не наоборот.
OS = El Capitan - локальный диск является SSD - удаленный диск является
USB-магнитный диск.
Ответы
Ответ 1
Я думаю, что вы можете попасть в дисковый кеш, тогда как каждый доступ к файлу после первого значительно ускоряет копирование, поскольку его не нужно читать (полностью) с диска снова.
Не могли бы вы попробовать:
a) либо очистка кеша диска (не знаю, как это сделать на Mac, я не использую его)
b) перезагрузитесь и попробуйте свой тест наоборот, то есть сначала попробуйте скопировать сначала более быстрый, затем другой.
Также, повторяйте несколько раз, если вы делаете 1) и 2) несколько раз, все ли пробежки в одной категории всегда имеют одинаковую скорость?
Ответ 2
Я бы поспорил, потому что в более позднем случае, когда каталог открыт (имея его как текущий рабочий каталог процесса копирования), cp и система могут избежать проверки доступности (смонтированной) директории на каждом блоке написать. Если он исходит из самого cp, вы можете проверить его с помощью strace. Если это произойдет из ядра, вы можете взглянуть на источники.