USB pendrive: копия занимает около 3 минут, но отключение занимает очень много времени: от 10 до 12 минут

Я использую Ubuntu 17.10.

Я отформатировал USB-накопитель USB для NTFS, чтобы подготовить установщик USB для Windows7.

Я установил флаг загрузочного диска на этом ручке и скопировали в него файлы.

EDIT 1: USB-накопитель автоматически устанавливается udev.

umount /dev/sdb1 занимает от 10 до 12 минут.

Вот настройки монтирования:

$ mount | grep sdb /dev/sdb1 on /media/mansfeld/Win7_USB_Installer type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,uhelper=udisks2)

EDIT 2: операция cp не является МГНОВЕННОЙ вообще, потребовалось 3 минуты, чтобы скопировать файлы на USB-накопитель. [ ! d6]

EDIT 3: операция sync (сделанная сразу после cp) заняла 12 минут! Но тогда umount будет мгновенным.

Для FAT32 (при синхронизации также отключена во время монтирования), я замечаю одно и то же поведение.

Любые идеи, почему так долго нужно отключить USB-накопитель NTFS?

1
задан 26 March 2018 в 21:05

6 ответов

вы, вероятно, страдают от кэширования буферизации. Для ускорения записи на USB-накопители (и жестких дисков в целом), Linux использует кэш файловой системы:

, когда вы (кажется вы) писать что-то на палку, то он записывается в кэш (в памяти) и команда [Ф1] (например) сразу возвращается, делая вид, что очень быстро пишу. В то время как вы делаете другие вещи, содержимое кэша записывается на палку в почву. Вы можете заметить, что светодиод на брелке продолжает мигать, показывающие операции записи (зависит от флешки), хотя ничего явного не происходит.

, когда вы [Ф2] вскоре после операции записи, то [Ф3] ждет, пока все содержимое кэша файловой системы написано на палку, чтобы убедиться, что никакие данные не теряются.

с [Ф4] вы можете вручную очистка кэша и запись данных на флешку. Однако, это не ускорит общего затраченного времени, потому что тогда вам придется ждать [F5], чтобы завершить (а не ждать [ф6]). Но [F7] и мгновенно вернуться, потому что кэш уже слита.

в итоге у вас есть три варианта после копирования больших или много файлов для флешки:

[F8] и подождите 10 минут для того, чтобы завершить [ф9], подождите 10 минут, затем [ф10] (вернется почти сразу) просто подождите 10 минут (возможно, немного больше) и ничего не делать (или что-то связаны с флешки) и тогда вопрос на [F11]. Поскольку кэш записывается в фоновом режиме автоматически, [ф12] затем почти сразу же возвращается.
2
ответ дан 8 June 2018 в 15:19
  • 1
    Или монтируйте файловую систему с включенным флагом -o, который отключает кэширование записи. – Pasi Suominen 25 March 2018 в 16:18
  • 2
    Да, @Паси, это еще один разумный подход. Спасибо, что указали. Но потом "10 минут" начнется, когда вы на самом деле [Ф1] файлы. Это зависит от того, что поведение, которое вы предпочитаете. Жду [Ф2] или ждем [Ф3]. – PerlDuck 25 March 2018 в 19:39
  • 3
    @PasiSuominen Как я могу udev автоматически установить мой USB-накопитель при включенной опции sync? – SebMa 26 March 2018 в 21:03
  • 4
    /etc/udev/rules.d/ - ваш ответ. В правиле udev вы можете указать параметры монтирования. – Pasi Suominen 26 March 2018 в 22:50
  • 5
    @PasiSuominen На сервере ubuntu этот каталог пуст, что еще я могу сделать? – SebMa 27 March 2018 в 11:48

Вероятно, вы страдаете от кеширования буферизации. Чтобы ускорить запись на USB-накопители (и в общем случае на жестких дисках), Linux использует кеш файловой системы:

Когда вы (думаете) пишете что-то в палку, то сначала записывается в кеш (в ОЗУ ), а команда cp (например) возвращает сразу, притворяясь очень быстрой операцией записи. Пока вы делаете другие вещи, содержимое кеша затем записывается в палку в фоновом режиме. Вы можете заметить, что светодиод на палочке все еще мигает, показывая операции записи (зависит от вашей палки), хотя ничего не происходит.

Когда вы выдаете umount вскоре после операции записи, тогда umount ждет, пока все содержимое кэша файловой системы записывается в палку, чтобы убедиться, что данные не потеряны.

С помощью sync вы можете вручную принудительно освободить кеш и записать данные в палку. Однако это не ускорит общее прошедшее время, потому что вам придется ждать завершения sync (вместо ожидания umount). Но umount затем будет мгновенно возвращаться, потому что кэш уже покраснел.

Итак, у вас есть три варианта после копирования большого или большого количества файлов на палку:

umount и подождите 10 минут, чтобы завершить sync, подождите 10 минут, а затем umount (вернется почти сразу) просто подождите 10 минут (возможно, немного больше) и ничего не сделайте (или что-то не имеющее отношения к палке) а затем выдать umount. Поскольку кеш автоматически записывается в фоновом режиме, umount будет возвращаться почти сразу же.
2
ответ дан 17 July 2018 в 18:13

Вероятно, вы страдаете от кеширования буферизации. Чтобы ускорить запись на USB-накопители (и в общем случае на жестких дисках), Linux использует кеш файловой системы:

Когда вы (думаете) пишете что-то в палку, то сначала записывается в кеш (в ОЗУ ), а команда cp (например) возвращает сразу, притворяясь очень быстрой операцией записи. Пока вы делаете другие вещи, содержимое кеша затем записывается в палку в фоновом режиме. Вы можете заметить, что светодиод на палочке все еще мигает, показывая операции записи (зависит от вашей палки), хотя ничего не происходит.

Когда вы выдаете umount вскоре после операции записи, тогда umount ждет, пока все содержимое кэша файловой системы записывается в палку, чтобы убедиться, что данные не потеряны.

С помощью sync вы можете вручную принудительно освободить кеш и записать данные в палку. Однако это не ускорит общее прошедшее время, потому что вам придется ждать завершения sync (вместо ожидания umount). Но umount затем будет мгновенно возвращаться, потому что кэш уже покраснел.

Итак, у вас есть три варианта после копирования большого или большого количества файлов на палку:

umount и подождите 10 минут, чтобы завершить sync, подождите 10 минут, а затем umount (вернется почти сразу) просто подождите 10 минут (возможно, немного больше) и ничего не сделайте (или что-то не имеющее отношения к палке) а затем выдать umount. Поскольку кеш автоматически записывается в фоновом режиме, umount будет возвращаться почти сразу же.
2
ответ дан 23 July 2018 в 19:02

При копировании файлов на флешки, они не написаны на нем напрямую. Синхронизация файловой системы происходит по команде отключения, фактических данных записывается в то время как вы ждать вашего размонтировать. Если вы выполните [Ф1] перед [Ф2], то [Ф3] - это мгновение.

3
ответ дан 8 June 2018 в 15:19
  • 1
    Компьютер, на котором я проверил это в университете, поэтому мне придется ждать до понедельника, чтобы попробовать и время команды [Ф1]. – SebMa 25 March 2018 в 12:34

Когда вы копируете файлы в ваш pendrive, они не записываются на нем напрямую. Синхронизация файловой системы происходит при команде unmount, фактические данные записываются во время ожидания вашего размонтирования. Если вы выполняете sync перед umount, umount мгновенно.

3
ответ дан 17 July 2018 в 18:13

Когда вы копируете файлы в ваш pendrive, они не записываются на нем напрямую. Синхронизация файловой системы происходит при команде unmount, фактические данные записываются во время ожидания вашего размонтирования. Если вы выполняете sync перед umount, umount мгновенно.

3
ответ дан 23 July 2018 в 19:02
  • 1
    Компьютер, на котором я его запускал, находится в университете, поэтому мне придется подождать до понедельника, чтобы попробовать время sync. – SebMa 25 March 2018 в 12:34

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

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