Почему при копировании на внешний диск окно прогресса отображается некорректно

Не стесняйтесь редактировать заголовок, чтобы лучше объяснить, что я здесь напишу.

Когда я копирую большие файлы, например, на флеш-накопитель, в окне прогресса отображается оценка, согласно которой большую часть времени можно увидеть в реальном времени и в процентах до конца, но в некоторых случаях говорится, что все закончено окно прогресса закрывается. Я иду, чтобы извлечь Pen Drive, и он говорит, что он все еще используется. После проверки фломастера я вижу, что он все еще копирует файлы, но нет окна прогресса, показывающего это.

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

Я не хочу знать, как это исправить, так как я прочитал, как глубоко это можно исправить. Я хочу знать, почему в окне прогресса отображается оценка, которая не соответствует процессу копирования.

Зависит ли он от кэша во внешнем блоке?

Влияет ли размер и объем файла на правильную оценку. Например, 1 файл объемом 4 ГБ или 1000 файлов размером 4 МБ.

Есть ли параметры конфигурации, которые могут изменить поведение.

Существуют и другие вопросы, подобные этому, например, копирование файлов на USB-флешку не закончено , но я больше сосредоточен на механике, объясняющей, почему она будет вести себя так.

10
задан 13 April 2017 в 15:24

2 ответа

Полагаю, вы используете Nautilus в качестве файлового менеджера, и если это так, то в этом есть давние ошибки. Слишком глупо, чтобы упоминать о воздействии Mint, Fedora, Red Hat и тому подобное. Ubuntu не без этой же проблемы.

Некоторые предлагают отключить просмотр миниатюр. Другие надеются на «новейшее ядро», но оно все еще существует.

Проблема = запускается быстро, а затем идет медленнее. Это связано с тем, что при монтировании с асинхронной записью в кеш, при заполнении кеша вы видите «реальную» скорость записи.

Обходной путь, кажется, sudo cp /filetobecopied /dev/nameofdevice

другой размещен здесь говорит, что «копирование в куски» работает. Неподтвержденный с моей стороны.

0
ответ дан 13 April 2017 в 15:24

Это также хороший ответ с решением: https://unix.stackexchange.com/a/181236 Там говорится:

Причина, по которой это происходит таким образом в том, что программа говорит «записать эти данные», а ядро ​​Linux копирует их в буфер памяти, который ставится в очередь для перехода на диск, а затем говорит «хорошо, готово». Таким образом, программа считает, что она скопировала все. Затем программа закрывает файл, но внезапно ядро ​​заставляет его ждать, пока этот буфер будет выгружен на диск.

Так что, к сожалению, программа не может сказать вам, сколько времени займет очистка буфера, потому что она не знает.

Если вы хотите попробовать некоторые хитрости для опытных пользователей, вы можете уменьшить размер буфера, который использует Linux, установив / proc / sys / vm / dirty_bytes что-то вроде 15728640 (15 МБ). Это означает, что приложение не может получить более 15 МБ до фактического прогресса.

Побочным эффектом является то, что ваш компьютер может иметь более низкую пропускную способность записи данных с этим параметром, но в целом я считаю полезным видеть, что программа работает долго, в то время как она записывает много данных, по сравнению с путаницей иметь программу, кажется, выполненную с ее работой, но система плохо отстает, поскольку ядро ​​выполняет фактическую работу. Установка достаточно малого значения dirty_bytes также может помочь предотвратить перезапуск вашей системы, если у вас мало свободной памяти и запуск программы, которая внезапно записывает большое количество данных.

Но не устанавливайте это слишком маленьким! Я использую 15 МБ для приблизительной оценки того, что ядро ​​может сбросить буфер на обычный жесткий диск за 1/4 секунды или меньше. Это удерживает мою систему от ощущения "отставания".

0
ответ дан 13 April 2017 в 15:24

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

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