при копировании большого количества файлов довольно часто используется несколько потоков с опцией RoboCopy (/MT[:n]). Может ли это привести к фрагментации на конечном диске? Иногда я использую Beyond compare для копирования файловых структур, чтобы максимально использовать пропускную способность сети/жесткого диска. Это также позволяет создавать несколько потоков. Могут ли они оба вызвать фрагментацию?
Робокопия и фрагментация
4 ответа
Если вы не уверены, вы можете просто проверить скопированные файлы, если они фрагментированы и если да на сколько осколков.
для проверки файла можно использовать "Contig" от Microsoft/Mark Russinovich, который позволяет проверить фрагментацию с помощью переключателя -a
contig -a <filename>
http://technet.microsoft.com/en-us/sysinternals/bb897428.aspx
(Не ответ, но как новый пользователь оказывается, что я не могу напрямую комментировать предыдущие ответы.)
в ответ на music2myear многопоточные копии, которые не распределяют пространство, действительно могут привести к крайней фрагментации.
сценарий таков: fileA начинает копирование в блок N на диске. файл начинает копирование в блок N+1 на диске. fileC начинает копирование в блок N+2 на диске. fileA нужен еще один блок и копии в N+3. fileB нужен еще один блок и копии на N+4. и так далее... до тех пор, пока каждый файл не будет полностью фрагментирован, без двух смежных блоков. fileA заканчивается на блоках N,N+3,N+5,N+10,N+13,а не N,N+1,N+2, N+3, N+4.
хорошо, это немного экстремально; вероятно, он не станет полностью фрагментированным. Но это иллюстрирует проблему с многопоточными утилитами копирования, которые не выделяют предварительно пространство. Тем не менее, я просто попробовал robocopy, включенный в сервер 2008R2, чтобы скопировать большое количество файлов разного размера, и этого не произошло кажется для создания избыточной фрагментации. (Предыдущие версии robocopy, как известно, вызывают крайнюю фрагментацию.) Больше контроля.
Это не должно привести к большей фрагментации, чем однопоточная операция копирования, которая ищет первое доступное пространство, а затем следующее и так далее по мере копирования.
любой диск с высоким уровнем чтения/записи и больших или смешанных файлов размера должны быть дефрагментированы регулярно, если вы не используете файловую систему, которая предотвращает фрагментацию.
Если вы очень обеспокоены фрагментации, вы должны рассмотреть преимущества, которые вы получаете с помощью многопоточности (крайняя выгода для большого количества файлов, меньше пользы для нескольких больших файлов) по сравнению с любой производительности вы можете испытать от возможной фрагментации.
Я видел это:
- re-FORMAT E: как FAT32 (формат M: / FS:FAT32 / Q), так ничего на нем
- список E: (dir / A E:) и ничего на нем нет
- копировать только один файл из D: В E: ничего не делая до конца
- список E: (dir / A E:) и есть только такой файл
- см фрагментация E: и это ужасно, начало файла находится в середине раздела, и это в большом количестве фрагментов (более 10)
Я также пытался с robocopy и никакого успеха, до сих пор фрагмент его.
Если я пытаюсь дефрагментировать после скопировать ничего не делается.
Как этого избежать? Я получил его, сделав несколько дополнительных шагов... и используя команду XCOPY /J...
Я его делаю так:
- re-FORMAT E: как FAT32 (формат M: / FS:FAT32 / Q), так ничего на нем
- список E: (dir / A E:) и ничего на нем нет
- скопировать только один файл из D: на Е: не сделав ничего до конца (команда xcopy /Дж D:\TEMP\TheFile.Расширение E:\AAA), да переименовав его как ААА в то же время
- переименуйте его обратно в настоящее имя (REN E:\AAA файл.Расширение)
- список E: (dir / A E:) и есть только такой файл
- см фрагментация E: и файл только один фрагмент, никакой фрагментации на всех
Я пробовал с "copy" и "robocopy" без успеха.
Я пробовал с "XCOPY / J ... "и преуспел!!!
Почему? я не знаю... но по крайней мере с "XCOPY /J ... "и работал, когда имя dest было изменено!!!
кажется, что Windows делает некоторые аномальные вещи, когда имя dest - это какой-то kinf специального имени.
чтобы увидеть, что я упоминаю, просто попробуйте использовать раздел FAT32 4113MB для хранения 4095MB файла подкачки.Сыс!!! и постарайтесь, чтобы он был только на одном фрагменте!!! нет способа сделать это нормально!!! но, эй, если с консоли вы переформатируете раздел и используйте файл подкачки XCOPY / J.sys E: AAA и переименуйте его... он остается в одном фрагменте!!!
надеюсь, что это может помочь другим людям!
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]