Как уменьшить буфер записи Linux для съемных устройств?

При записи содержимого на съемные устройства на Linux (USB-накопители / жесткие диски, SD-карты и т. Д.) Я часто вижу невероятные скорости записи в первые несколько секунд, иногда в порядке GB / s (заполнение буфера записи), за которым следуют несколько минут тишины (буфер на самом деле записывается на устройство).

Это вводит в заблуждение. Это затрудняет оценку фактической скорости записи. Это раздражает (не может прерывать программу, пока она очищает буферы). Это может привести к повреждению FS и, по крайней мере, к неписаному содержанию, когда устройство отключено от сети, пока оно еще написано.

В моем случае буфер записи, по-видимому, превышает GB. Есть ли способ контролировать это? Я хотел бы уменьшить его до более разумной ценности.

Примечание. Это не касается кеша файловой системы, этот эффект также появляется на необработанных устройствах

Примечание. Я не хочу полностью отключать буферы записи

Благодаря!

    One Solution collect form web for “Как уменьшить буфер записи Linux для съемных устройств?”

    Я нашел ответ. 64-разрядная версия Linux поддерживает большой буфер записи (20% доступной памяти!) По умолчанию. (Интересно, что 32-разрядная Linux ограничивает себя не более 180 МБ). Чтобы изменить размер грязного буфера, например, 200 МБ, можно использовать

     echo 200000000 > /proc/sys/vm/dirty_bytes 

    ИЛИ использовать процент ОЗУ, например 1%:

     echo 1 > /proc/sys/vm/dirty_ratio 

    Дополнительная информация: https://lwn.net/Articles/572911/

    Interesting Posts

    Почему система X Window использует сервер?

    Как отключить скрипт фильтрации Logwatch?

    Ошибка Grub 21, если не присутствуют как SD-карта, так и live-usb

    Ловушка SNMP в Unix

    Почему я даю сообщение «Запуск задания для повышения сетевых интерфейсов» при загрузке после отключения предсказуемых имен сетевых интерфейсов?

    Можно ли использовать команду at для планирования задания, которое должно выполняться с заданной меткой времени?

    Как настроить автозагрузку xkb-настроек в GNOME?

    Проблема с воспроизведением видео с VLC

    Почему я не могу передать файл через wget (FTP) с помощью функции exec () в PHP?

    Как добавить загрузчик в ISO? Или сделать ISO загрузочным?

    Почему в выводе температуры SCT отображаются «пропущенные» значения температуры?

    При связывании с неопределенной версией библиотеки правильный выбор?

    разрешение папки с папками ftp и apache

    Преобразование потока исходных данных печати, содержащих команды PCL, в PDF

    Не удалось записать на контакт GPIO, несмотря на права доступа к файлам / sys / class / gpio / gpio18 / value

    Linux и Unix - лучшая ОС в мире.