Автор Тема: Usb закъснение при писането  (Прочетена 3309 пъти)

Explisit

  • Напреднали
  • *****
  • Публикации: 97
    • Профил
Скоро забелязах че като копирам на usb - ми показва че е прехвърлил файла веднаго, но ако го извадя веднага файла е 0 б т.е. нищо не е записал, но ако изчакм 20-30 сек започва да свети usb-to и явно записва файла тогава и тогава всичко е ток - някой да е имал подобен стил на системата си?
Активен

Powered by Debian

plamen_f

  • Напреднали
  • *****
  • Публикации: 1246
    • Профил
Usb закъснение при писането
« Отговор #1 -: May 04, 2007, 00:40 »
Нормално е - има латентност процеса.

Добре си го забелязал и ако се замислиш и в Линукс и в Уиндоус има функция за unmount а тези устройства която се грижи това да стане след като всичко е синхронизирано.
Активен

senser

  • Напреднали
  • *****
  • Публикации: 1328
    • Профил
Usb закъснение при писането
« Отговор #2 -: May 04, 2007, 08:48 »
е според мен не е нормално

всичко, което закачам на usb си чете и пише без никакво закъснение - hdd, sd, flash, .....

я покажи с какви опции ти се монтира флашката:
Примерен код

$less /etc/mtab
Активен

paucku

  • Напреднали
  • *****
  • Публикации: 638
  • Distribution: Kubuntu LTS (отскоро е - тествам я в момента)
  • Window Manager: KDE
  • Райчо Николов
    • Профил
    • WWW
Usb закъснение при писането
« Отговор #3 -: May 04, 2007, 12:11 »
Забелязал съм подобно нещо. Като копирам файловете върху USB-то, Konqueror ми казва, че файловете са копирани, но не освобождава веднага флашчето — даже не мога да го ънмаунтна ръчно. В тези случаи пиша sync в конзолата и той като приключи, вече може да се ънмаунтва.
Активен

mikis

  • Напреднали
  • *****
  • Публикации: 746
  • Distribution: Debian Testing
  • Window Manager: KDE
    • Профил
Usb закъснение при писането
« Отговор #4 -: May 04, 2007, 13:22 »
В Konqueror в KDE щом цъкнеш с десния бутон върху устройството, от контекстното меню избираш "Безопасно изваждане" и флашката веднага угасва. После вадиш спокойно. Предполагам, че и в Nautilus има нещо подобно.
Активен

ray

  • Напреднали
  • *****
  • Публикации: 1452
    • Профил
Usb закъснение при писането
« Отговор #5 -: May 04, 2007, 13:50 »
Здравейте,
При мен преди време променях опциите на hal (или ivman) от async на sync.
Въпроса е как монтира новите USB-устройства (sync или async).
Така че смятам че това е нормално, затова и не освобождава веднага устройството (освен при sync). Обикновено демонтирам със '#eject /dev/sdaX'
Дайте 'mount' при монтиран flash да видим какви са опциите.
Румен
Активен

paucku

  • Напреднали
  • *****
  • Публикации: 638
  • Distribution: Kubuntu LTS (отскоро е - тествам я в момента)
  • Window Manager: KDE
  • Райчо Николов
    • Профил
    • WWW
Usb закъснение при писането
« Отговор #6 -: May 04, 2007, 19:25 »
Цитат (mikis @ Май 04 2007,13:22)
В Konqueror в KDE щом цъкнеш с десния бутон върху устройството, от контекстното меню избираш "Безопасно изваждане" и флашката веднага угасва. После вадиш спокойно. Предполагам, че и в Nautilus има нещо подобно.

Аз така и правя, но ако не съм sync-нал, има известно забавяне, а понякога даже не се ънмаунтва, докато не убия Konqueror-а.

П.П. Ползвам udev — т.е. то само си прави всичко, аз нищо не съм настройвал. Само съм добавил един ред в /etc/fstab. Мисля че работи и без този ред във fstab.



Активен

vstoykov

  • Напреднали
  • *****
  • Публикации: 1286
  • Distribution: Ubuntu
  • Window Manager: Fluxbox
    • Профил
    • WWW
Usb закъснение при писането
« Отговор #7 -: May 04, 2007, 21:55 »
Решение: трябва да се монтира с опция sync.

Пример:

Примерен код

/dev/sdb1 /mnt/sdb1 vfat auto,users,sync,utf8,codepage=855,fmask=111,dmask=000 0 0


Тестовете, които направих показват скорост на запис 0.5MB/s с опция  sync и десет пъти повече без опция sync.

Написал съм скрипт, който го включва автоматично в /etc/fstab при вкарване (и го изтрива от там при изкарване). Нарочно не го монтира, защото това не е съвместимо с КДЕ (КДЕ се опитва да го монтира още един път и показва съобщение за грешка, че не може да монтира устройството).
За повече информация:
http://vslivecd.openfmi.net/viewtopic.php?p=1627#1627
Активен

Explisit

  • Напреднали
  • *****
  • Публикации: 97
    • Профил
Usb закъснение при писането
« Отговор #8 -: May 05, 2007, 12:32 »
Здравейте, ей това се казва нещо - значи да започна:

1. И аз имах подозрения че има латентност процеса, но чак такава направо не беше нормално - а и си спомням, че преди не беше така излиза си ти прозорче и ти показва колко копира и така нататък, а не само да се появяват файловете все едно пишеш със 200 МБ/с. Всички отговори просто потвърдиха моето впечатлиние и ми дадоха отговора на въпроса - Благодаря!

2. Точно сега сядам да си направя 2-3 теста ( и вчера пак си ъпдейтнах системата на мах ) и какво да видя, сменили са пак нещо и вече работи както трябва (според мен). При копиране на файлове си излиза прозорчето и ти си знаеш че след като то изчезне всичко е синхронизирано.  '<img'> иначе и аз  от известно време само с umount си махам usb-to, но ми беше интересно защо правеше така.  Че така вече всичко е на 6.



Активен

Powered by Debian

vstoykov

  • Напреднали
  • *****
  • Публикации: 1286
  • Distribution: Ubuntu
  • Window Manager: Fluxbox
    • Профил
    • WWW
Usb закъснение при писането
« Отговор #9 -: May 05, 2007, 13:33 »
Цитат (Explisit @ Май 05 2007,13:32)
При копиране на файлове си излиза прозорчето и ти си знаеш че след като то изчезне всичко е синхронизирано.  '<img'> иначе и аз  от известно време само с umount си махам usb-to, но ми беше интересно защо правеше така.  Че така вече сичко е на 6.

Възможно е в някоя от приложните програми (файловия мениджър) да е заложен такъв алгоритъм: ако се копират данни в преносим носител (дискета, USB флаш) да изпълнява команда sync преди да затвори прозореца, който показва напредъка на копирането (това е много по-ефективно отколкото да се извършва синхронно копиране т.е. с опция sync, зададена  при монтирането).

Иначе за ядрото е нормално да не записва данните веднага (даже може да ги запише и след няколко минути и повече). Те се записват когато се напише команда sync или когато се демонтира устройството (или когато има повечко свободно време - това не знам по какъв точно алгоритъм се изчислява).

Това се прави за увеличаване на производителността - защо да се записва файл, който след малко ще се промени или даже ще се изтрие (ядрото няма как да знае какво в същност правим с файла - то само си върши работата)?

Ако устройството е монтирано с опция sync ще действа " нормално", но скоростта на запис ще е 10% от скоростта при асинхронен запис (или поне така се получава при мен).

Ако устройството не е монтирано с опция sync, никога не трябва да се доверяваме на индикатора за напредък при копирането! Винаги трябва да пишем sync или да демонтираме устройството.

Сега може да ти работи както ти очакваш (без опция sync), но утре може да пуснеш някоя програма във фонов режим и ядрото да реши да отдели повече време на тази програма за сметка на копирането на данните на преносимия носител...

За да видиш настройките на монтираните дялове, командата е mount (без параметри).



Активен

Explisit

  • Напреднали
  • *****
  • Публикации: 97
    • Профил
Usb закъснение при писането
« Отговор #10 -: May 05, 2007, 14:04 »
Благодаря vstoykov!

Това наистина обясни вече защо като дадох и преди mount не видях никъде параметър sync, но забравих да го напиша.

/dev/sda1 on /media/CORSAIR_ type vfat (rw,noexec,nosuid,nodev,shortname=lower,uid=1000)

Явно има нещо в nautilus, което както каза си вика sync/async и затова сега работи , но при следващи промени не се знае какво става. Затова е наистина задължително да се вика един sync и umount/eject с тез усб-та  '<img'>
Активен

Powered by Debian

paucku

  • Напреднали
  • *****
  • Публикации: 638
  • Distribution: Kubuntu LTS (отскоро е - тествам я в момента)
  • Window Manager: KDE
  • Райчо Николов
    • Профил
    • WWW
Usb закъснение при писането
« Отговор #11 -: May 07, 2007, 03:14 »
И аз благодаря.

Сложих си опция sync във /etc/fstab и сега нямам проблеми с демонтирането на флашчето. Вярно е, че изглежда по-бавно, ама преди пък го чаках при ънмаунтването, а и имах проблеми понякога. Според мен в момента не е по-бавно, ами просто показва истинската скорост. Не съм се занимавал да го меря — така ми изглежда.

@vstoykov
10 пъти ми се вижда много голяма разлика (освен ако не си имал в предвид "10% по-малка скорост"). Как го мериш? Отчиташ ли, че след като напишеш "sync", има известно забавяне?
Активен

rpetrov

  • Напреднали
  • *****
  • Публикации: 571
    • Профил
    • WWW
Usb закъснение при писането
« Отговор #12 -: May 08, 2007, 14:48 »
Интересно защо се предпочита sync, а от друга страна, например, http://lkml.org/lkml/2005/5/13/144 . Предполагам, че ще се разбере защо с async писането е по-бързо и за предпочитане.

Не виждам проблем да се работи с async, като се свикне да се демонтират флопита или флаш карти преди изваждането им. Така ще има по-дълъг живот на носителите и по-голямо бързодействие.

Опцията noatime също е полезна.
Активен

Naka

  • Напреднали
  • *****
  • Публикации: 3400
    • Профил
Usb закъснение при писането
« Отговор #13 -: May 08, 2007, 16:19 »
Никога не ползвайте sync за монтиране на Flash!!! flash-вете имат от порядъка на 200000 до милион цикли на запис на клетка. Фат таблицата се намира на едно и също място. Представете си какво става при при едно нормално копиране. може само за 1 -2 часа да се навъртят тези цикли, при нормално копиране. При sync постоянно се обновява Фат таблицата.

Флашовете са много несигурна работа. търкането става на блокове до 200к. това означава че даже и да искате да запишете само 1 бит. се търкат едновременно до 200к. т.е износват се цели 200к наведнъж.

друго което е трябва да се използва 'noatime' защото даже и при само четене пак е същото и пак ще се износва. Вие си разглеждате файловете цъкатате нагоре надолу а паметта си отива много бързо!
Изобщо имаше ли параметър atime при фат?

mount и umount е най-хубаво и най-правилно.


Примерен код

/dev/sda1               /mnt/FLASH              vfat           defaults,noatime,users,async,rw 0 0




Активен

Perl - the only language that looks the same before and after encryption.

paucku

  • Напреднали
  • *****
  • Публикации: 638
  • Distribution: Kubuntu LTS (отскоро е - тествам я в момента)
  • Window Manager: KDE
  • Райчо Николов
    • Профил
    • WWW
Usb закъснение при писането
« Отговор #14 -: May 08, 2007, 16:39 »
Ууупс! '<img'>

Довечера веднага махам sync от опциите. Дано не съм си развалил картата на фотоапарата. Не знаех, действа по този начин. Това проблем на FAT сустемата ли е?

Цитат
mount и umount е най-хубаво и най-правилно.

Дали не може да се автоматизира процеса. Аз винаги цъкам на "Safely remove". Това пуска ли sync?
Активен