loremOS Admin

"Системное администрирование – это культура"

Linux - неправдоподобный прогресс копирования на флешку

Опубликовано 16th May 2020 12:19:49 в категории Linux

Здравствуй, дорогой друг!

Думаю, у многих (если не у всех) имеется такой эффект при записи на флешку, когда берешь большой файл, например видео, кидаешь на флешку, прогресс резко поднимается до 60-90%, и висит так, пока запись практически не подойдет к концу.

Эффект имеет место, если при монтировании использовалась опция flush. Стоит отметить, что в современных дистрибутивах, в основном, используется эта опция в DE (если в DE настроено управление томами). Да и вообще, рекомендуется именно эта опция.
Если использовать опцию sync, эффекта не будет, но зато можно получить истинное удовольствие от многочасовой записи видосика на флешку.

Выхода нет?
Конечно, есть)

На самом деле, такое "странное" копирование можно получить не только на флешке. Можно наблюдать на любом устройстве storage, которое медленнее нормального и|или современного hdd|ssd. Всё дело в том, что при указании опции flush, мы кроме наиболее быстрого копирования, нежели чем при sync, получаем "эффект буфера", то есть говоря простым языком, файл просто не успевает улететь на флешку из-за низкой скорости записи (флешка !=ssd или hdd), и он улетает в буфер в ОЗУ, поэтому мы видим резкое увеличение прогресса копирования. Но буфер ограничен, поэтому по всей вероятности прогресс остановится (на каком прогрессе, зависит от размера файла). Стало быть, буферы надо как-то настроить.

Идём в файл /etc/sysctl.d/99-sysctl.conf или /etc/sysctl.conf и вносим туда следующие строки:


vm.dirty_background_bytes = 16777216
vm.dirty_bytes = 16777216


И перезагружаем параметры sysctl


sysctl --system

Профит!

З.Ы.: цифры примерные! У меня работает уже несколько лет именно так, возможно что у тебя придется выставить другие. Подобрать не долго, для старта можно использовать цифры выше.


Поделиться:


Теги