Linux скорость копирования на флешку

Linux скорость копирования на флешку

Здраствуйте. Проблема в общем такая: Когда скидываешь\передаешь файлы на флешку(и), с начало индикатор загрузки показывает что файл передается с не вероятной скоростью (70-100МБ.СЕК.), а потом намертво зависает, хотя файлы как положено загружается. Когда из каталога в каталог перекидаешь, что либо, все ок.
Что это может быть и как это решить?

Пользуюсь линуксом совсем не давно. Стоит милт 19 версии с мате. До последнего времени всё работало отлично, проблема возникла сама по себе пару дней назад.

Dja Сообщения: 6635 Зарегистрирован: 27 авг 2016, 20:03 Решено: 28 Откуда: Voskresensk Благодарил (а): 1188 раз Поблагодарили: 699 раз Контактная информация:

Проблема с отражением времени и скорости передачи файлов на usb накопители.

Присоединяюсь. Ведь при том же копировании файлов в гуй-фм есть индикация. Т.е. до конца дошло, значит файлы должны уже были скопироваться и флешку можно по идее отмонтировать/вытащить. Однако, пишет «до отсоединения данные должны записаться. не отсоединяйте» И при этом флешка моргает. Какие данные? Если данные продолжают перетекать после закрытия статус-бара то по идее надо допиливать статус-бар, раз он так рано закрывается. вобщем магия какая-то
______________________
Немного света

[11:35:03] да, если индикатор показывает, что файлы скопированы, то это ещё ничего не значит, надо делать sync всегда
[11:35:33] это куда тыкать?
[11:35:33] интересно, в каких-нибудь файловых менеджерах делают sync?
[11:35:42] в терминале набираешь sync
[11:35:47] и?
[11:36:04] и ждёшь, когда курсор перейдёт на новую строку
[11:36:30] а термина откуда открыть? с флешки?
[11:36:31] пока не перешёл, флэшку не выдергивай, там на неё данные сбрасываются
[11:36:46] в той системе, в которой копируешь
[11:36:53] без разницы где

Новичок? — ознакомься с правилами
и Панель форматирования
Изображение
IRC-канал
Изображение

Источник

Низкая скорость при копировании на флешку

О данной проблеме уже писали тут: USB flash плохое копирование файлов на Debian 9 У меня аналогичная ситуация. При копировании файла на флешку с файловой системой fat32 индикатор быстро заполняется примерно до 80-90%, а потом надолго остаётся на этой отметке.

dd показывает скорость в 1 мегабайт в секунду.

Это нормально, на самом деле данные пишутся не сразу на флеш накопитель, а в начале записываются в кэш файловой системы. А потом из каша записываются уже на накопитель.

Какой файл ты пишешь, он один или их много?

При копировании файла на флешку с файловой системой fat32 индикатор быстро заполняется примерно до 80-90%, а потом надолго остаётся на этой отметке.

Это нормально, т.к. кэш ядра. Сократи размер кэша отложенной записи, и индикаторы копирования в программах начнут показывать реальные значения:

vm.dirty_bytes = 2097152 vm.dirty_background_bytes = 2097152 

Deleted ( 24.02.20 16:12:23 MSK )
Последнее исправление: Deleted 24.02.20 16:12:42 MSK (всего исправлений: 1)

мэйби какой-то поврежденный файл тормозит

Читайте также:  Linux выполнить команду от суперпользователя

известная проблема линукса. вначале копирует нормально, а потом скорость падает до 1 мб/с

известная проблема линукса. вначале копирует нормально, а потом скорость падает до 1 мб/с

Какой файл ты пишешь, он один или их много?

anonymous, один размером 1-3 ГБ.

devzero , работает. Разрабы могли бы сделать с этим что-нибудь за столько лет.

мэйби какой-то поврежденный файл тормозит

juubex , нет не может. Разные файлы, разные флешки.

greenman , в какую директорию эту библиотеку нужно поместить?

qx255 ( 25.02.20 05:25:12 MSK )
Последнее исправление: qx255 25.02.20 05:25:56 MSK (всего исправлений: 1)

greenman , благодарю. Скомпилировал, положил в директорию, прописал переменную окружения к Nemo. Ни черта не поменялось. Так же полоска за секунду скакнула и всё застопорилось.

Вышеизложенное решение про уменьшение размера кэша сойдёт.

2020 год. Дестопный линукс…

Вообще, по моим экспериментам FUSE exFAT как-то значительно быстрее, чем ядерный FAT32 — это линукс…

Как запустить Nemo с использованием autofsync, не знаю.

(Может i-rinat подскажет)

Midnight Commander работает.

Вышеизложенное решение про уменьшение размера кэша сойдёт.

(Кстати, когда отвечаешь только мне, кастование излишне.)

Сделать так и забыть о проблемах с кешем:

# echo $((16*1024*1024)) > /proc/sys/vm/dirty_background_bytes # echo $((48*1024*1024)) > /proc/sys/vm/dirty_bytes # vm.dirty_expire_centisecs=1500 # vm.dirty_writeback_centisecs=500 # vm.dirtytime_expire_seconds=3000 

Наверно, дешёвая, а значит медленная флешка. Поскольку афтар не догадался указать её модель, то он наверно не слишком интересуется, чем отличаются флешки, и мог купить медленную.

Источник

Медленное копирование файлов на флешку. [Решено]

Изображение пользователя ivashka777.

Опять я со своими вопросами ))).
Подниму старую как мир тему — медленного копирования файлов на флешку.
Приспичило тут мне перекинуть несколько фильмов жене на планшет.
И выяснилось, что процесс копирования занимает ну просто жуткое количество времени.
Т.е. сперва все происходит типа моментально, а потом процесс висит на 100% минут 20 и более.
Ладно, думаю, может проблема именно при копировании на карту памяти планшета, но ни тут то было.
На обычную флешку (FAT32) процесс копирования происходит так же медленно.
Пробовал в разных файловых менеджерах, результат один. В винде такой проблемы нет (тот же порт USB, флешка, те же файлы).
Озадачился поиском, нашел кучу ссылок по этой проблеме, но все они довольно стары — 2010-2016 г.г., все в архиве да и какого то однозначного решения в этих ссылках нет.
Неужели проблема до сих пор остается не решенной.
Добавлю, что между дисками (а у меня их в ноутбуке три) копирование происходит моментально.
Спасибо за советы.

Изображение пользователя ivashka777.

Подсказали в соседнем форуме:

открыть файл /etc/sysctl.conf
и дописать строки:

vm.dirty_bytes = 4194304
vm.dirty_background_bytes = 4194304

применить изменения:
sudo sysctl -p

Скорость копирования стала примерно как в винде (судя по отображению в окошке и времени копирования).
И, что для меня важно, окошко прогресса стало отображать прогресс копирования в течении всего времени в менеджере «из коробки — Dolphin».

Изображение пользователя Aleksandru71.

У меня с этим:
vm.dirty_bytes = 4194304
vm.dirty_background_bytes = 4194304
Система вешаться начинает, на ровном месте.

Вот с таким параметром значительно лучше.
vm.dirty_bytes=15000000

Пишут некоторым отключение swap файла помогает.
Отключил, тестирую.

Изображение пользователя lord_i.

Осмелюсь предположить, что к скорости копирования на флешку данные заклинания не имеют никакого отношения. Просто выделяется большой буфер в озу и для пользователя создается впечатление быстрого копирования. Однако если после того, как долфин покажет что все скопировано попробовать нажать в менеджере носителей «безопасно извечь носитель» (или выполнить команду sync в терминале) — Вы получите задержку ровно такую как до применения данного твика. Потому что физически, видимо, флешка небыстрая.

Читайте также:  Mount qcow2 image linux

Изображение пользователя ivashka777.

Нет, не угадали. Именно работает быстрей. И не по показаниям файлового менеджера, а по времени.

Изображение пользователя lord_i.

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

а что вредного в данном действии?

Изображение пользователя lord_i.

Ну как минимум настораживает что все эти советы относятся к ядру пяти-семи летней давности.
В современных системах используются ключи vm.dirty_ratio, vm.dirty_background_ratio, управлющие кэшем в процентах от имеющегося озу. И это правильно, ведь в разных системах разное количество озу.
Вот так выглядит дефолтная настройка современного ядра:
sysctl -a | grep dirty
vm.dirty_background_bytes = 0
vm.dirty_background_ratio = 10
vm.dirty_bytes = 0
vm.dirty_expire_centisecs = 3000
vm.dirty_ratio = 20
vm.dirty_writeback_centisecs = 500
vm.dirtytime_expire_seconds = 43200
Например тут более подробно рассмотрено управление кэшем фс в современном ядре.
Ну и имхо в эти вещи лезть без четкого понимания что ты делаешь не стоит.
Ведь эти настройки касаются всей фс и вполне может вылезти боком при файловых операциях на диске например.

Спасибо. Убрал от греха подальше.

В 19.10, апгрейженной с 19.04, так и не смог ничего добиться. Поставил начисто 20.04 (с сохранением /home и доустановкой необходимых пакетов) — и скорость копирования на флешку стала нормальной безо всяких извращений.

Источник

что нужно сделать, чтобы копировать на флешку с нормальной скоростью?

На флешку копирует со скоростью 140-270 кб/с. Думаю причина в том, что я устанавливал систему в минимальном виде и чего-то теперь не хватает. Подскажите, пожалуйста, что нужно установить, чтоб копировать нормально.

Пробовал увеличить/уменьшить «грязные байты», запускать ehci_hcd.

Если ты не пересобирал ядро с каким-нибудь чудны́м конфигом, дело во флешке. Попробуй другую.

Две флешки пробовал на одном и том же нетбуке. В виндовс скорость нормальная, в опенсусе — нет. Ядро стандартное, обновлённое 3.11.10-desktop.

ну хоть бы для приличия написал «в dmesg чисто», я уж не говорю о выхлопе lsusb

zgrep EHCI /proc/config.gz, ну и вывод dmesg в студию

[ 390.985741] usb 1-3: new high-speed USB device number 5 using ehci-pci [ 391.105350] usb 1-3: New USB device found, idVendor=13fe, idProduct=4100 [ 391.105369] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 391.105379] usb 1-3: Product: Silicon-Power4G [ 391.105387] usb 1-3: Manufacturer: UFD 2.0 [ 391.105396] usb 1-3: SerialNumber: 12031379014E60023DFBBB17E69 [ 391.108916] usb-storage 1-3:1.0: USB Mass Storage device detected [ 391.109158] scsi2 : usb-storage 1-3:1.0 [ 392.192950] scsi 2:0:0:0: Direct-Access UFD 2.0 Silicon-Power4G PMAP PQ: 0 ANSI: 4 [ 392.195958] sd 2:0:0:0: Attached scsi generic sg1 type 0 [ 392.871144] sd 2:0:0:0: [sdb] 7579008 512-byte logical blocks: (3.88 GB/3.61 GiB) [ 392.872288] sd 2:0:0:0: [sdb] Write Protect is off [ 392.872310] sd 2:0:0:0: [sdb] Mode Sense: 23 00 00 00 [ 392.873730] sd 2:0:0:0: [sdb] No Caching mode page found [ 392.873749] sd 2:0:0:0: [sdb] Assuming drive cache: write through [ 392.879852] sd 2:0:0:0: [sdb] No Caching mode page found [ 392.879869] sd 2:0:0:0: [sdb] Assuming drive cache: write through [ 392.900345] sdb: sdb1 [ 392.908994] sd 2:0:0:0: [sdb] No Caching mode page found [ 392.909013] sd 2:0:0:0: [sdb] Assuming drive cache: write through [ 392.909026] sd 2:0:0:0: [sdb] Attached SCSI removable disk
xxx@linux-kpzj:~> zgrep EHCI /proc/config.gz CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_ROOT_HUB_TT=y CONFIG_USB_EHCI_TT_NEWSCHED=y CONFIG_USB_EHCI_PCI=y CONFIG_USB_EHCI_HCD_PLATFORM=m
xxx@linux-kpzj:~> lsusb Bus 001 Device 005: ID 13fe:4100 Kingston Technology Company Inc. Bus 002 Device 002: ID 04f2:b209 Chicony Electronics Co., Ltd Bus 003 Device 002: ID 09da:054f A4 Tech Co., Ltd Bus 004 Device 003: ID 0489:e03c Foxconn / Hon Hai Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Дело во «флешке», точнее в принципе работы Flash памяти и файловой системы.

Читайте также:  Linux mint wallpaper pack

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

Если вам нужно записать довольно много файлов небольшого размера, то лучше зажмите их в архив и запишите архив целиком.

Если вы ответите, что дескать в Windows всё пишется быстро, то я вам отвечу, что в Windows данные пишутся не сразу на накопитель, а в начале попадают в кэш файловой системы и затем постепенно этот кэш сбрасывается на накопитель, даже когда скроется индикатор копирования файлов и вы посчитаете, что файлы уже записаны, посмотрите на индикатор (светодиод) активности обращения на Flash накопителе и вы увидите, что он мигает, это означает, что на накопитель идёт запись, т.е. сбрасывается кэш файловой системы.

В Linux, если файловая система на накопителе монтировалась посредством udisks, в современных DE, KDE, Gnome, Xfce, это так, то в опциях монтирования присутствет опция «sync», которая говорит, что при записи на накопитель данные должны сразу же синхронизироваться с накопителем, без использования кэша файловой системы.

Вот и получается, что запись идёт медленно.

Если жесткий диск и флешка отформатированы в разные файловые системы, то это невозможно.

Допустим, у меня копирование одного файла с NTFS на NTFS занимает 1 секунду (грубо), а при копировании с Ext4 на NTFS — 30 секунд

А вот нефиг флешку покупать дешевую. И нефиг монтировать ее с опцией sync!

Никаких USB-устройств к компьютеру больше не подключено?

На флешку копирует со скоростью 140-270 кб/с.

А теперь отформатируй флэшке в btrfs. И расскажи какая скорость будет.

Источник

Оцените статью
Adblock
detector