Титла: Usb закъснение при писането Публикувано от: Explisit в May 03, 2007, 22:08 Скоро забелязах че като копирам на usb - ми показва че е прехвърлил файла веднаго, но ако го извадя веднага файла е 0 б т.е. нищо не е записал, но ако изчакм 20-30 сек започва да свети usb-to и явно записва файла тогава и тогава всичко е ток - някой да е имал подобен стил на системата си?
Титла: Usb закъснение при писането Публикувано от: plamen_f в May 04, 2007, 00:40 Нормално е - има латентност процеса.
Добре си го забелязал и ако се замислиш и в Линукс и в Уиндоус има функция за unmount а тези устройства която се грижи това да стане след като всичко е синхронизирано. Титла: Usb закъснение при писането Публикувано от: senser в May 04, 2007, 08:48 е според мен не е нормално
всичко, което закачам на usb си чете и пише без никакво закъснение - hdd, sd, flash, ..... я покажи с какви опции ти се монтира флашката:
Титла: Usb закъснение при писането Публикувано от: paucku в May 04, 2007, 12:11 Забелязал съм подобно нещо. Като копирам файловете върху USB-то, Konqueror ми казва, че файловете са копирани, но не освобождава веднага флашчето — даже не мога да го ънмаунтна ръчно. В тези случаи пиша sync в конзолата и той като приключи, вече може да се ънмаунтва.
Титла: Usb закъснение при писането Публикувано от: mikis в May 04, 2007, 13:22 В Konqueror в KDE щом цъкнеш с десния бутон върху устройството, от контекстното меню избираш "Безопасно изваждане" и флашката веднага угасва. После вадиш спокойно. Предполагам, че и в Nautilus има нещо подобно.
Титла: Usb закъснение при писането Публикувано от: ray в May 04, 2007, 13:50 Здравейте,
При мен преди време променях опциите на hal (или ivman) от async на sync. Въпроса е как монтира новите USB-устройства (sync или async). Така че смятам че това е нормално, затова и не освобождава веднага устройството (освен при sync). Обикновено демонтирам със '#eject /dev/sdaX' Дайте 'mount' при монтиран flash да видим какви са опциите. Румен Титла: Usb закъснение при писането Публикувано от: paucku в May 04, 2007, 19:25
Аз така и правя, но ако не съм sync-нал, има известно забавяне, а понякога даже не се ънмаунтва, докато не убия Konqueror-а. П.П. Ползвам udev — т.е. то само си прави всичко, аз нищо не съм настройвал. Само съм добавил един ред в /etc/fstab. Мисля че работи и без този ред във fstab. Титла: Usb закъснение при писането Публикувано от: vstoykov в May 04, 2007, 21:55 Решение: трябва да се монтира с опция sync.
Пример:
Тестовете, които направих показват скорост на запис 0.5MB/s с опция sync и десет пъти повече без опция sync. Написал съм скрипт, който го включва автоматично в /etc/fstab при вкарване (и го изтрива от там при изкарване). Нарочно не го монтира, защото това не е съвместимо с КДЕ (КДЕ се опитва да го монтира още един път и показва съобщение за грешка, че не може да монтира устройството). За повече информация: http://vslivecd.openfmi.net/viewtopic.php?p=1627#1627 Титла: Usb закъснение при писането Публикувано от: Explisit в May 05, 2007, 12:32 Здравейте, ей това се казва нещо - значи да започна:
1. И аз имах подозрения че има латентност процеса, но чак такава направо не беше нормално - а и си спомням, че преди не беше така излиза си ти прозорче и ти показва колко копира и така нататък, а не само да се появяват файловете все едно пишеш със 200 МБ/с. Всички отговори просто потвърдиха моето впечатлиние и ми дадоха отговора на въпроса - Благодаря! 2. Точно сега сядам да си направя 2-3 теста ( и вчера пак си ъпдейтнах системата на мах ) и какво да видя, сменили са пак нещо и вече работи както трябва (според мен). При копиране на файлове си излиза прозорчето и ти си знаеш че след като то изчезне всичко е синхронизирано. ![]() Титла: Usb закъснение при писането Публикувано от: vstoykov в May 05, 2007, 13:33
Възможно е в някоя от приложните програми (файловия мениджър) да е заложен такъв алгоритъм: ако се копират данни в преносим носител (дискета, USB флаш) да изпълнява команда sync преди да затвори прозореца, който показва напредъка на копирането (това е много по-ефективно отколкото да се извършва синхронно копиране т.е. с опция sync, зададена при монтирането). Иначе за ядрото е нормално да не записва данните веднага (даже може да ги запише и след няколко минути и повече). Те се записват когато се напише команда sync или когато се демонтира устройството (или когато има повечко свободно време - това не знам по какъв точно алгоритъм се изчислява). Това се прави за увеличаване на производителността - защо да се записва файл, който след малко ще се промени или даже ще се изтрие (ядрото няма как да знае какво в същност правим с файла - то само си върши работата)? Ако устройството е монтирано с опция sync ще действа " нормално", но скоростта на запис ще е 10% от скоростта при асинхронен запис (или поне така се получава при мен). Ако устройството не е монтирано с опция sync, никога не трябва да се доверяваме на индикатора за напредък при копирането! Винаги трябва да пишем sync или да демонтираме устройството. Сега може да ти работи както ти очакваш (без опция sync), но утре може да пуснеш някоя програма във фонов режим и ядрото да реши да отдели повече време на тази програма за сметка на копирането на данните на преносимия носител... За да видиш настройките на монтираните дялове, командата е mount (без параметри). Титла: Usb закъснение при писането Публикувано от: Explisit в 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 с тез усб-та ![]() Титла: Usb закъснение при писането Публикувано от: paucku в May 07, 2007, 03:14 И аз благодаря.
Сложих си опция sync във /etc/fstab и сега нямам проблеми с демонтирането на флашчето. Вярно е, че изглежда по-бавно, ама преди пък го чаках при ънмаунтването, а и имах проблеми понякога. Според мен в момента не е по-бавно, ами просто показва истинската скорост. Не съм се занимавал да го меря — така ми изглежда. @vstoykov 10 пъти ми се вижда много голяма разлика (освен ако не си имал в предвид "10% по-малка скорост"). Как го мериш? Отчиташ ли, че след като напишеш "sync", има известно забавяне? Титла: Usb закъснение при писането Публикувано от: rpetrov в May 08, 2007, 14:48 Интересно защо се предпочита sync, а от друга страна, например, http://lkml.org/lkml/2005/5/13/144 . Предполагам, че ще се разбере защо с async писането е по-бързо и за предпочитане.
Не виждам проблем да се работи с async, като се свикне да се демонтират флопита или флаш карти преди изваждането им. Така ще има по-дълъг живот на носителите и по-голямо бързодействие. Опцията noatime също е полезна. Титла: Usb закъснение при писането Публикувано от: Naka в May 08, 2007, 16:19 Никога не ползвайте sync за монтиране на Flash!!! flash-вете имат от порядъка на 200000 до милион цикли на запис на клетка. Фат таблицата се намира на едно и също място. Представете си какво става при при едно нормално копиране. може само за 1 -2 часа да се навъртят тези цикли, при нормално копиране. При sync постоянно се обновява Фат таблицата.
Флашовете са много несигурна работа. търкането става на блокове до 200к. това означава че даже и да искате да запишете само 1 бит. се търкат едновременно до 200к. т.е износват се цели 200к наведнъж. друго което е трябва да се използва 'noatime' защото даже и при само четене пак е същото и пак ще се износва. Вие си разглеждате файловете цъкатате нагоре надолу а паметта си отива много бързо! Изобщо имаше ли параметър atime при фат? mount и umount е най-хубаво и най-правилно.
Титла: Usb закъснение при писането Публикувано от: paucku в May 08, 2007, 16:39 Ууупс!
![]() Довечера веднага махам sync от опциите. Дано не съм си развалил картата на фотоапарата. Не знаех, действа по този начин. Това проблем на FAT сустемата ли е?
Дали не може да се автоматизира процеса. Аз винаги цъкам на "Safely remove". Това пуска ли sync? Титла: Usb закъснение при писането Публикувано от: m0rph в May 08, 2007, 17:02 Аз обикновенно гледам трафика на USB-то в gkrelm. Като спадне значи е свършило копирането и го размонтирам.
Титла: Usb закъснение при писането Публикувано от: vstoykov в May 08, 2007, 18:05
Този параметър не е специфичен за дадена файлова система (така пише на страницата man mount). Веднага ще коригирам скрипта да слага noatime и да не слага sync. Титла: Usb закъснение при писането Публикувано от: vstoykov в May 08, 2007, 20:50 Пренаписах части от скрипта. Новата версия може да се види пак на същото място:
http://vslivecd.openfmi.net/viewtopic.php?p=1627#1627 Сега вече под КДЕ се показва иконка на USB памет, защото точката на монтиране вече е в този вид: /media/usb- ![]() Оправени са и малко други бъгове и направих малко оптимизации (вече не се опитва да намери файловата система като я налучка, а се ползва информацията, която е предоставена от udevd (надявам се, че udevd предоставя достатъчно точна информация)). Направих пакет за Slackware: http://vslivecd.openfmi.net/tmp/vsupdfstab/vsupdfstab-0.1-noarch-0.tgz Титла: Usb закъснение при писането Публикувано от: vstoykov в May 08, 2007, 20:56
Действително беше около 10 пъти (с отчитане на допълнителното време за демонтиране!). Вече няма да ползвам опция sync, а ще си демонтирам файловата система преди да извадя носителя. Титла: Usb закъснение при писането Публикувано от: m0rph в May 09, 2007, 10:52 Наистина скороста с пуснат "sync" е поне 10 пъти по малка. Пробвах го преди време и трафика беше някъде към 100КБ/с като падна даже до 10-15КБ/с което е направо смешно, напомни ми на времето когато теглех една мп3-ка по половин час.
|