У меня есть загадка относительно пауз после копирования файлов на windows server 2008 (и других выпусках)
При копировании больших файлов, таких как vhds, на локально подключенные USB-диски, я часто вижу долгую паузу после того, как копирование завершится на 100%.
В качестве примера: роботизированное копирование файлов vhd. Счетчик прочитанных / записанных байтов соответствует размеру файла vhd, и robocopy показывает 100%, но делает паузу на несколько минут. Если я ничего не сделаю, это будет продолжаться, но мне придется подождать некоторое время - примерно столько же, сколько потребовалось, чтобы добраться до 100%. Счетчики чтения / записи байтов для robocopy не изменяются.
Моя первая мысль заключалась в том, что AV должен сканировать его, но сейчас я смотрю на машину, на которой не установлен AV, и это происходит, поэтому невозможно. Никакие другие процессы не показывают увеличение числа байтов чтения / записи.
Поведение будет таким же, если я использую команду копирования или xcopy.
Я видел это в других системах, но никогда не выяснял, в чем причина. У кого-нибудь есть предложения относительно того, что может происходить?
Вы испытываете процесс очистки локального буфера на фактическом диске. Когда вы копируете файл на медленный носитель, ваша операционная система может сказать вам, что операция выполнена, прежде чем она действительно будет завершена из соображений производительности. На самом деле он отслеживает операцию самостоятельно (в памяти), если только программа, которую вы используете для отслеживания хода выполнения, не имеет в конце процесса какого-либо вызова «подождать, пока файл будет фактически записан». Это то, что вызывает ожидание.
Для обычных копий файлов Windows вы можете изменить это поведение, чтобы снизить производительность ради безопасности, изменив настройки USB-накопителя, как описано здесь: http://www.pcworld.com/article/254868/safely_remove_usb_drives_just_by_unplugging_them.html
Если вы это сделаете, то «безопасное удаление» станет абсолютно необходимым, чтобы избежать повреждения файловой системы на внешнем диске. Это сдвинет (неизбежное) ожидание до момента, когда вы действительно удалите диск, с дополнительным преимуществом, заключающимся в том, что если вы позже внесете дополнительные изменения в скопированные файлы перед его удалением, вы сэкономите кучу дорогостоящих операций ввода-вывода, поскольку изменения будут выполняться непосредственно в локальном буфере.