Автор Гілка: Тормоза при копіюванні на USB flash drive  (Прочитано 10442 раз)

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3820
  • Карма: +11/-0
  • Програміст
Re: Тормоза при копіюванні на USB flash drive
« Відповідей #15 : 2010-01-12 12:58:08 »
Що каже dmesg? Що в /proc/mounts? Точні версії ядер?

У мене, наприклад:
$ dmesg
...
usb 2-5: new high speed USB device using ehci_hcd and address 3
usb 2-5: New USB device found, idVendor=05e3, idProduct=0712
usb 2-5: New USB device strings: Mfr=0, Product=1, SerialNumber=2
usb 2-5: Product: USB Storage
usb 2-5: SerialNumber: 000000009225
usb 2-5: configuration #1 chosen from 1 choice
Initializing USB Mass Storage driver...
scsi5 : SCSI emulation for USB Mass Storage devices
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usb-storage: device found at 3
usb-storage: waiting for device to settle before scanning
usb-storage: device scan complete
scsi 5:0:0:0: Direct-Access     Generic  STORAGE DEVICE   9228 PQ: 0 ANSI: 0
sd 5:0:0:0: Attached scsi generic sg2 type 0
sd 5:0:0:0: [sdb] 3932160 512-byte hardware sectors: (2.01 GB/1.87 GiB)
sd 5:0:0:0: [sdb] Write Protect is off
sd 5:0:0:0: [sdb] Mode Sense: 03 00 00 00
sd 5:0:0:0: [sdb] Assuming drive cache: write through
sd 5:0:0:0: [sdb] Assuming drive cache: write through
 sdb: sdb1
sd 5:0:0:0: [sdb] Attached SCSI removable disk
SELinux: initialized (dev sdb1, type vfat), uses genfs_contexts

$ cat /proc/mounts | grep sdb
/dev/sdb1 /media/166B-AF93 vfat rw,nosuid,nodev,relatime,uid=500,gid=500,fmask=0022,dmask=0077,codepage=cp437,iocharset=ascii,utf8,flush 0 0
[Fedora Linux]

Відсутній BACbOK

  • Новачок
  • *
  • дописів: 29
  • Карма: +0/-0
Re: Тормоза при копіюванні на USB flash drive
« Відповідей #16 : 2010-01-12 21:52:58 »
Зранку не мав змоги відписати, робота... :)
Система - Ubuntu 9.10 x64;
Ядро - 2.6.31-17-generic;

$dmesg
[104103.587603] npviewer.bin[6112]: segfault at ff999ed8 ip 00000000ff999ed8 sp 00000000ff835c2c error 14
[104126.762564] usb 1-3: new high speed USB device using ehci_hcd and address 5
[104126.925516] usb 1-3: configuration #1 chosen from 1 choice
[104126.925819] scsi8 : SCSI emulation for USB Mass Storage devices
[104126.925985] usb-storage: device found at 5
[104126.925988] usb-storage: waiting for device to settle before scanning
[104131.924050] usb-storage: device scan complete
[104131.924593] scsi 8:0:0:0: Direct-Access              USB FLASH DRIVE  PMAP PQ: 0 ANSI: 0 CCS
[104131.925095] sd 8:0:0:0: Attached scsi generic sg2 type 0
[104134.510988] sd 8:0:0:0: [sdb] 4030464 512-byte logical blocks: (2.06 GB/1.92 GiB)
[104134.519926] sd 8:0:0:0: [sdb] Write Protect is off
[104134.519934] sd 8:0:0:0: [sdb] Mode Sense: 23 00 00 00
[104134.519938] sd 8:0:0:0: [sdb] Assuming drive cache: write through
[104134.527052] sd 8:0:0:0: [sdb] Assuming drive cache: write through
[104134.527059]  sdb: sdb1
[104134.535930] sd 8:0:0:0: [sdb] Assuming drive cache: write through
[104134.535937] sd 8:0:0:0: [sdb] Attached SCSI removable disk
[104550.497636] npviewer.bin[11471]: segfault at ff999ed8 ip 00000000ff999ed8 sp 00000000fff197fc error 14
[104654.454707] npviewer.bin[12163]: segfault at ff999ed8 ip 00000000ff999ed8 sp 00000000ffc72fdc error 14
[104691.993608] npviewer.bin[12341]: segfault at ff999ed8 ip 00000000ff999ed8 sp 00000000fff1cacc error 14
[104999.168716] npviewer.bin[12513]: segfault at ff999ed8 ip 00000000ff999ed8 sp 00000000ff8f90ac error 14
[105582.764132] usb 1-3: USB disconnect, address 5
[105582.766813] FAT: bread failed in fat_clusters_flush
[105582.893697] FAT: bread failed in fat_clusters_flush
[105582.894127] FAT: bread failed in fat_clusters_flush
[105582.895113] FAT: bread failed in fat_clusters_flush
[105584.559648] deluge[2079]: segfault at 0 ip 00007f2ccf50f4e0 sp 00007fffe2b44c10 error 4 in libgobject-2.0.so.0.2200.3[7f2ccf4e6000+44000]
[177401.995572] mmc0: new SD card at address aaaa
[177401.995838] mmcblk0: mmc0:aaaa SU02G 1.84 GiB
[177401.995906]  mmcblk0: p1
[179672.010142] b44: eth0: Link is down.
[179679.012720] b44: eth0: Link is up at 100 Mbps, full duplex.
[179679.012727] b44: eth0: Flow control is off for TX and off for RX.
[181171.811920] npviewer.bin[15785]: segfault at ff999ed8 ip 00000000ff999ed8 sp 00000000ffc745dc error 14
[181494.822756] UDP: short packet: From 0.0.0.0:24827 25649/109 to 0.0.0.0:6881
[184778.498119] mmc0: card aaaa removed
[187077.982584] usb 1-3: new high speed USB device using ehci_hcd and address 6
[187078.135810] usb 1-3: configuration #1 chosen from 1 choice
[187078.137756] scsi9 : SCSI emulation for USB Mass Storage devices
[187078.138025] usb-storage: device found at 6
[187078.138034] usb-storage: waiting for device to settle before scanning
[187083.140394] usb-storage: device scan complete
[187083.152986] scsi 9:0:0:0: Direct-Access     Kingston DataTraveler 2.0 PMAP PQ: 0 ANSI: 0 CCS
[187083.223166] sd 9:0:0:0: Attached scsi generic sg2 type 0
[187085.263601] sd 9:0:0:0: [sdb] 7823360 512-byte logical blocks: (4.00 GB/3.73 GiB)
[187085.285764] sd 9:0:0:0: [sdb] Write Protect is off
[187085.285778] sd 9:0:0:0: [sdb] Mode Sense: 23 00 00 00
[187085.285785] sd 9:0:0:0: [sdb] Assuming drive cache: write through
[187085.306580] sd 9:0:0:0: [sdb] Assuming drive cache: write through
[187085.306596]  sdb:
[187085.310552] sd 9:0:0:0: [sdb] Assuming drive cache: write through
[187085.310569] sd 9:0:0:0: [sdb] Attached SCSI removable disk

$ cat /proc/mounts | grep sdb
/dev/sdb /media/FLASH vfat rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0077,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,flush,errors=remount-ro 0 0

P.S. Ось щойно вирішив зробити тест (думав на новому ядрі баг зникне): взяв файл 300 мб, почав копіювати на флешку. Спочатку швидкість була - 11 Мбайт/с, потім поступово стала падати аж до 1 Мбайт/с. :(
Результат - 300 Мб скопіював на флешку за 10 хв., а це є ДУЖЕ довго.
« Змінено: 2010-01-12 22:28:20 від BACbOK »

roman-pikalyuk

  • Гість
Re: Тормоза при копіюванні на USB flash drive
« Відповідей #17 : 2010-01-12 22:38:46 »
В мене теж така фігня.

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3820
  • Карма: +11/-0
  • Програміст
Re: Тормоза при копіюванні на USB flash drive
« Відповідей #18 : 2010-01-14 17:36:50 »
В мене теж така фігня.

Ну і  ти кидай сюди інформацію. Я поки що не можу вирахувати в чому проблема.

Люди кажуть, що проблема може виникнути коли флешка забивається повністю і запис іде посекторно — флешка має перезаписати два рази цілий блок для кожного сектору. Але як це поправити — не знаю. :-/

Ще проблема може бути з використанням USB 1.1 замість 2.0 через різні причини (пошкоджений кабель чи розʼєм, напр.).
[Fedora Linux]

Відсутній BACbOK

  • Новачок
  • *
  • дописів: 29
  • Карма: +0/-0
Re: Тормоза при копіюванні на USB flash drive
« Відповідей #19 : 2010-01-14 18:47:29 »
В мене, наприклад, ноут не з дуже старих, 1.5 року, тобто usb 2.0 використовується. Флешка на 4 і 8 Гб, ні одна з них повністю не заповнена, так, відсотків 70-80...
З.І. Знаю, що така проблема не тільки в мене одного, зустрічав аналогічну на російському убунтівському форумі - там також нічого толком не вирішили. :(

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3820
  • Карма: +11/-0
  • Програміст
Re: Тормоза при копіюванні на USB flash drive
« Відповідей #20 : 2010-01-14 19:10:14 »
В мене, наприклад, ноут не з дуже старих, 1.5 року, тобто usb 2.0 використовується.
Я знаю, що була колись проблема з тонким кабелем, який був розрахований на USB1.1, і пристрої часом глючили чи працювали повільно через нього. В мене є один такий (йшов в комплекті з фотіком).

Цитата
Флешка на 4 і 8 Гб, ні одна з них повністю не заповнена, так, відсотків 70-80...

Флешка не розрізняє що у вас там записано, чи сміття чи реальна інформація - видалення файлу на FAT міняє тільки біти у FAT і назву файла, а не реально звільняє блоки. Підтримку команди DISCARD (здається так), яка звільняє блоки при видаленні файлів, зробили в лінуксі не так давно.

Можна спробувавти переформатувати флешку на низькому рівні (для звільнення всіх блоків) і подивитися, чи швидкість зросте.
[Fedora Linux]

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3820
  • Карма: +11/-0
  • Програміст
Re: Тормоза при копіюванні на USB flash drive
« Відповідей #21 : 2010-01-14 19:15:27 »
Підтримку команди DISCARD (здається так), яка звільняє блоки при видаленні файлів, зробили в лінуксі не так давно.

TRIM (команда флешки) або DISCARD (драйвер Лінукс): додано в 2.6.28 рік тому, але тільки для SSD-вінчестерів здається. :-/ http://lwn.net/Articles/293658/
[Fedora Linux]

Відсутній BACbOK

  • Новачок
  • *
  • дописів: 29
  • Карма: +0/-0
Re: Тормоза при копіюванні на USB flash drive
« Відповідей #22 : 2010-01-14 19:23:15 »
Цитата
Я знаю, що була колись проблема з тонким кабелем, який був розрахований на USB1.1, і пристрої часом глючили чи працювали повільно через нього. В мене є один такий (йшов в комплекті з фотіком).
Так у Windows все копіюється навіть дуже швидко, так що варіант з тонким кабелем відпадає.
У старіших версіях Убунту (наприклад 7.04) все копіювалося не повільніше, ніж у вінді.

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
Re: Тормоза при копіюванні на USB flash drive
« Відповідей #23 : 2010-01-16 20:14:43 »
ну я помітив, що копіювання ніби ривками. Швидкість коливаєтсья від 0 до 500Кб/с.

Відсутній BACbOK

  • Новачок
  • *
  • дописів: 29
  • Карма: +0/-0
Re: Тормоза при копіюванні на USB flash drive
« Відповідей #24 : 2010-03-02 10:14:47 »
Сьогодні знайшов свіжий рецепт для виправлення проблеми швидкості копіювання на usb-флешки.
Стаття тут - http://welinux.ru/post/2222/ (написана по-російськи, але не думаю, що це буде перешкодою ;)).
З.І. Сам ще не пробував, бо зараз не маю змоги, можливо комусь допоможе.

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1419
  • Карма: +0/-0
Re: Тормоза при копіюванні на USB flash drive
« Відповідей #25 : 2010-03-02 10:36:50 »
В мене в  
peinguin@debian:/home/programming/ogre/ogre$ sudo cat /proc/irq/22/smp_affinity
1
peinguin@debian:/home/programming/ogre/ogre$ sudo cat /proc/irq/23/smp_affinity
1

І так одинички. Може йому нулики поставить?

Відсутній BACbOK

  • Новачок
  • *
  • дописів: 29
  • Карма: +0/-0
Re: Тормоза при копіюванні на USB flash drive
« Відповідей #26 : 2010-03-02 10:54:42 »
Ще можна спробувати так:
Цитата
Тоже столкнулся с проблемой низкой скорости копирования на флешки. Но проблема решилась довольно просто. В биосе выставил выделение физической памяти для работы USB устройств.
В биосе в разделе "USB Memory Type" выбрал значение "Base Memory (640K)" вместо значения по умолчанию "SHADOW".
И свершилось чудо, копирование стало проходить за адекватный период времени.
з forum.ubuntu.ru.