rsync - процент info=progress2, завершенный из копирования большого каталога, неоднороден?

rsync - процент info=progress2, завершенный из копирования большого каталога, неоднороден в этом, последние 10%, кажется, занимают больше времени, чем первые 90%.

Почему это и является там способом сделать это более универсальным индикатором хода выполнения?

1
задан 20 July 2018 в 06:16

2 ответа

Причина наблюдаемого поведения вероятна кэш файловой системы:

Когда файлы записаны (как rsync делает), затем обычно данные записаны в кэш (в памяти) сначала, и операция записи почти немедленно возвращается. Данные затем записаны в диск в фоне, в то время как пользователь может уже сделать другие вещи.

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

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

Избыточные данные не обходят кэш, а скорее ожидают, пока предыдущее содержание не было перемещено от кэша до диска, дающего снова некоторое свободное пространство в кэше, таким образом, новые данные могут быть записаны в кэш.

Таким образом, первая часть данных (90% в Вашем случае), кажется, записана немедленно (для кэширования), в то время как последнее 10%-е взятие больше времени, потому что затем эксплуатация фактической дисковой емкости умирает.

2
ответ дан 3 December 2019 в 07:23

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

Например: Вы копируете файл на 4 ГБ и каталог, содержащий 100 000 файлов, которые составляют в целом 1 ГБ. Если единственный файл будет передан сначала, то первые 80% будут путем быстрее, чем последние 20%.

1
ответ дан 3 December 2019 в 07:23

Другие вопросы по тегам:

Похожие вопросы: