LINUX.ORG.RU

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

 ,


1

3

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

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

★★☆

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

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

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

kinik ★★☆
() автор топика

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

crowbar
()
Ответ на: комментарий от mix_mix
[  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

crowbar

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
kinik ★★☆
() автор топика

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

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

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

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

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

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

kostik87 ★★★★★
()

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

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

Nycteas
()

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

Eddy_Em ☆☆☆☆☆
()

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

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

justAmoment ★★★★★
()

что нужно сделать,

«вдоль» всегда помогает

Deleted
()
Ответ на: комментарий от kostik87

Я что-то не заметил... Для теста взял флешку на 8 гб отформатированную в exfat, и скинул папку с кучей файлов (исходники virtualbox). На ubuntu через fuse копировалось этак минут 9 и при отмонтировании флешки она 30 секунд что-то дозаписывала. На win 8.1 за 10 минут скопировалось 15%, мне надоело, я прервал это.

Хотя в ubuntu exfat неродной.

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

На win 8.1 за 10 минут скопировалось 15%, мне надоело, я прервал это.

Не чего было оставлять размер кластера 32 кб, а еще линуксоид.

https://dl.dropboxusercontent.com/u/7983994/ShareX/2014-06-18_05-49-37.png

За 10 минут записалось 60% на медленной дешевой флешке.

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

так под линуксом такой же размер кластера был, какой увындовз 8.1 по дефолту предложила такой и оставил (цифру не посмотрел)

сомневаюсь, что смена размера кластера, поможет увындовс сократить отставание по времени копирования по сравнению с линуксом на заметную цифру

зы: думаю у меня флешка медленнее - самую дешевую брал лет 5 наверно назад.

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 3)
Ответ на: комментарий от kostik87

Я записываю 1 файл размером 2.2 гигабайта. На ноутбуке с обычной установкой opensuse копирует со скоростью ~7 мб/с. А на нетбуке с минимальной установкой opensuse + kde3 скорость низкая. На этом же нетбуке в windows скорость копирования ~7 мб/с. Поэтому я решил, что чего-то не хватает для нормальной скорости копирования.

kinik ★★☆
() автор топика
Ответ на: комментарий от Deathstalker

Адаптер беспроводной флешки только.

kinik ★★☆
() автор топика
Ответ на: комментарий от int13h

Да на все, какие есть у меня (usb) попробовал. Монтируется konqueror'ом (который из kde3) автоматически.

kinik ★★☆
() автор топика
Ответ на: комментарий от greenman

Сделал. Флешку воткнул заново - осталось всё также.

kinik ★★☆
() автор топика
Ответ на: комментарий от greenman
......
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=100)
gvfsd-fuse on /var/run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=100)
/dev/sdb1 on /media/1A5F-A41C type vfat (rw,nosuid,nodev,noatime,sync,uid=1000,gid=100,fmask=0022,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,errors=remount-ro,uhelper=udisks)
kinik ★★☆
() автор топика

В kde4 флешка монтируется так:

......
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
/dev/sdb1 on /run/media/xxx/1A5F-A41C type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=100,fmask=0022,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)
/dev/sdb1 on /var/run/media/xxx/1A5F-A41C type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=100,fmask=0022,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,flush,errors=remount-ro)

Нужно как-то поменять опции монтирования для kde3.

kinik ★★☆
() автор топика
Ответ на: комментарий от kinik

flush — тоже ненужная опция. У меня для vfat вот что в fstab пишется:

ACTION=="add", ENV{ID_FS_TYPE}=="vfat", RUN+="/bin/sed -i '$a\/dev/%k /media/$env{ID_FS_TYPE}-%k vfat rw,noauto,noatime,dmask=022,user,fmask=133,iocharset=koi8
-r 0 0' /etc/fstab"

Eddy_Em ☆☆☆☆☆
()

предположу, что у вас работает протокол usb 1.1

int13h ★★★★★
()
Ответ на: комментарий от int13h
xxx@linux-kpzj:~> lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/5p, 12M
    |__ Port 3: Dev 5, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 3: Dev 5, If 1, Class=Wireless, Driver=btusb, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ohci-pci/5p, 12M
    |__ Port 2: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M
    |__ Port 2: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/5p, 480M
    |__ Port 1: Dev 2, If 0, Class=Video, Driver=uvcvideo, 480M
    |__ Port 1: Dev 2, If 1, Class=Video, Driver=uvcvideo, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/5p, 480M
    |__ Port 3: Dev 9, If 0, Class=Mass Storage, Driver=usb-storage, 480M
kinik ★★☆
() автор топика
Последнее исправление: kinik (всего исправлений: 1)
Ответ на: комментарий от int13h
xxx@linux-kpzj:~> lsusb
Bus 001 Device 009: 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 005: 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
kinik ★★☆
() автор топика
Ответ на: комментарий от kinik

вроде 2.0. Хм, давайте попробуем поиграться с dd. Возьмите флэш-накопитель и, предварительно скопировав оттуда информацию на жесткий диск, запишите туда какой-нибудь файл / или нули и посмотрите скорость записи файла foo

dd if=foo of=/dev/sd[устройство накопителя]  bs=4MB

и чтения

dd if=/dev/sd[устройство накопителя] of=/tmp/foo   bs=4MB

Не несу ответственности за перепутанные устройства =)

int13h ★★★★★
()
Последнее исправление: int13h (всего исправлений: 3)
Ответ на: комментарий от ValdikSS

То, что нужно. Спасибо. Ещё бы прописать куда-нибудь, чтоб автоматически делалось.

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