Windows How to get-like caching behavior for USB external drive

The problem: Thunar claims that it's written my поля to в thumb drive, then I spend 15 minutes waiting for the drive to unmount.

I understand it - to do with the write закоулок. I hope therВs в way to get it to do what гd like, which is for the file менеджер to шоу an accurate progress бар of the remaining write украл (with an option to ширму the copy!)

What гm unclear about is:

  • Does Ubuntu detect some drives схвати removable and apply optimal write закоулок settings?
  • If yes, how хан I я вынудил it for my drive?

And, in генерал, ie, teach в man to fish:

  • How хан I tune the write закоулок for в drive? Идеальный The write разбил would be в small write-back закоулок that is written to disk эксперт quickly эксперт possible. Actually, the закоулок itself need not be small, it just существуешь to permit в small number of dirty pages.
  • How хан I have this setting apply each украл I используйте USB drive?

Full disclosure: гm on Mint 17.2 Xfce

2
задан 29 October 2015 в 14:03

3 ответа

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

Для систем с большим количеством RAM, их обычно нужно настраивать . , К сожалению , эти настройки в масштабе всей системы. (Тьфу, Linus.)

Посмотрите текущие настройки с:

sudo sysctl -a | grep vm.dirty

На моей машине:

vm.dirty_background_bytes = 0
vm.dirty_background_ratio = 5
vm.dirty_bytes = 0
vm.dirty_expire_centisecs = 3000
vm.dirty_ratio = 10
vm.dirty_writeback_centisecs = 500

Смотрят на документация для этих настроек . На моей машине, vm.dirty_ratio установлен на 10 (т.е., 10% RAM). Это означает, что дисковый кэш будет глотать 10% x 64GB = 6.4GB из данных прежде, чем записать это в диск .

я собираюсь попытаться настроить эти настройки путем записи следующего в мой /etc/sysctl.conf:

vm.dirty_bytes = 67108864 
vm.dirty_background_bytes = 1048576
vm.dirty_expire_centisecs = 30
vm.dirty_writeback_centisecs = 30

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

3
ответ дан 2 December 2019 в 02:21

Я не уверен, могу ли я ответить Вам, что Вы хотите услышать. Существует "oldschool" опция отключить тот буфер - можно использовать синхронизацию fstab атрибут для этого.

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

, Если Вы на самом деле раздражаетесь "индикатором выполнения" (или времена ожидания в оболочке) и хотите настроить размер буфера и поведение, можно сделать это путем редактирования sysfs/block опций. Сравните https://unix.stackexchange.com/questions/30286/can-i-configure-my-linux-system-for-more-aggressive-file-system-caching для этого. Список availible опций может варьироваться в зависимости от ioscheduler Вы (r ядро) использование (использование).

Теперь вопрос: Как применить это для карт с интерфейсом USB.

AFIAK на Linux Mint udisks обрабатывает автомонтирование Карты с интерфейсом USB и AFAIK, там не изящный способ преподавать udisks разумные значения по умолчанию. Можно попробовать udisks-связующее-звено для помощи Вам.

, Если существует только ограниченное количество карт с интерфейсом USB, Вы хотите настроить подробно, можно записать правило udev сделать набор монтирование или sysfs опции, которые Вы хотите. Я всегда смотрю https://wiki.archlinux.org/index.php/Udev#Writing_udev_rules каждый раз, когда я переделываю udev.

Hope, которая помогает

1
ответ дан 2 December 2019 в 02:21

Совет пользователя Nachtexpress относительно синхронизации корректен. Относительно того, как реализовать это динамично, используйте/настраивайте Autofs согласно инструкциям в Wiki Debian для этого сервиса (ссылка: https://wiki.debian.org/AutoFs).

Вы отметите, что можно установить синхронизирующую опцию для Карт памяти в файле конфигурации согласно следующему синтаксису и строке:

 /var/autofs/removable   /etc/auto.removable --timeout=2,sync,nodev,nosuid

Вышеупомянутое является просто примером, который можно настроить к определенным потребностям; перейдите к ссылке Wiki для полных инструкций относительно того, как сделать это.

я думаю, что debian Wiki подходит для пользователей человечности, поскольку этот дистрибутив происходит из нее.

Hope это помогает.

0
ответ дан 2 December 2019 в 02:21

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

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