LINUX.ORG.RU

ожидание после копирования на флешку

 , ,


4

3

Здравствуйте.

После копирования большого файла на флешку (fat32 usb2) процесс еще продолжается некоторое время (при копировании 3,5гб файла - ~5мин), причем первая половина копируется со скоростью ~30, вторая плавно тормозит до ~3 и потом просто ждет и не дает вынуть флешку, а как долго - не сообщается, т.е. процесс не контролируемый.

Как исправить

зы:с внешнем хардом (ntfs usb3) проблемы нет

сначала кэш, потом уже реальная запись
dd с параметром oflag=direct в руки - увидишь реальную скорость записи на флешку

megabaks ★★★★ ()
Ответ на: комментарий от brothermechanic

всегда так было.
если ты не монтировал флешку с sync(или как там эта опция зовётся?).
ну и износ флешки никто не отменял

megabaks ★★★★ ()

первая половина копируется со скоростью ~30,

В файловый кеш льется, а он в ram. Вот потому и быстро получается.

вторая плавно тормозит до ~3 и потом просто ждет и не дает вынуть флешку

Потом файловый кеш забивается и происходит сброс буферов на накопитель. Вот и тормоза.

andreyu ★★★★★ ()
Ответ на: комментарий от megabaks

у меня было лучше чем сейчас. Проблема может быть вызвана geek-sources USE=«ck gentoo uks»?

brothermechanic ★★★★★ ()

Тебе нужно добавить опцию монтирования flush (этo что-то между async и sync)

З.Ы. Даже в Debian oldstable это есть по-умолчанию.

sdio ★★★★★ ()
Последнее исправление: sdio (всего исправлений: 1)

BTW, можно ли вообще отключить в ядре кэш записи?

rvr ()

Старый способ Shimon-а пробовали? Потестируйте с такими параметрами sysctl.

$ sudo sysctl -a | grep -E 'swap|overcommit_|dirty_|vfs_cache'
vm.dirty_background_bytes = 2097152
vm.dirty_background_ratio = 0
vm.dirty_bytes = 2097152
vm.dirty_expire_centisecs = 1000
vm.dirty_ratio = 0
vm.dirty_writeback_centisecs = 200
vm.overcommit_memory = 2
vm.overcommit_ratio = 80
vm.swappiness = 5
vm.vfs_cache_pressure = 50

backbone ★★★★★ ()
Ответ на: комментарий от haku

Юзаю backbone-sources, такой проблемы нет. Но была, пока не применил указанные выше настройки sysctl. Замена async на flush не помогала.

backbone ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.