# Problem z kopiowaniem na urządzenia przenośne typu Pendrive

## Pryka

Tak jak w temacie... kopiowanie na  urządzenia odbywa się masakryczne długo... czasem wydaję mi się, że wszystko się wręcz wiesza zaczynam od nowa bo już mi się czekać nie chce... Dodatkowo nie mam w ogóle, żadnego punktu odniesienia co do tego kiedy dany plik się skopiuje, gdyż pasek stanu operacji kopiowania/wycinania praktycznie od razu dochodzi do samego końca zatrzymując się na kilka milimetrów przed finiszem i tak stoi, aż wszystko dobiegnie końca... używam Gnome jeśli to do czegoś potrzebne...

Z góry dzięki za pomoc.

----------

## SlashBeast

odpal sobie dstat i ogladaj zapis. Na poczatek leci do jakiegos udwanego cache czy buffera a potem dopiero naprawde na urzadzenie.

----------

## mbar

Może masz włączoną opcję "sync" dla zamontowanego pendrive.

----------

## Pryka

 *SlashBeast wrote:*   

> Na poczatek leci do jakiegos udwanego cache czy buffera a potem dopiero naprawde na urzadzenie.

 

Lepiej mi powiedz co z tym zrobić, bo w sumie widząc wykresy dalej będę stał w tym samym miejscu i czekał ruski rok aż się coś skopiuje na pena

 *mbar wrote:*   

> Może masz włączoną opcję "sync" dla zamontowanego pendrive.

 

A gdzie mam jej szukać? Bo szczerze to nie mam pojęcia skąd zacząć.

----------

## SlashBeast

Takie cuda dzieja sie bez opcji sync, z sync jest generalnie wolniej.

Taki urok pamieci flash na Linuksie. Kiedys chcialem to rozwiazac i jedyna mozliwosc, na jaka wpadlem to montowac pendrive z 'sync' co jest w efekcie wolniejsze i ponoc bardziej niszczy pamiec przy zapisie.

----------

## Pryka

No nie wiem coś musi być na rzeczy, bo na Ubuntu działa normalnie, śmiem twierdzić, że prędkość zapisu jest nawet większa niż pod Windowsem.

To wypluwa mount odnośnie pendriva

```
/dev/sdb1 on /media/Cruzer type vfat (rw,nosuid,nodev,uhelper=devkit,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,flush)
```

Co do monitorowania za pomocą sync, to nie wiem czy o to chodzi, ale przy kopiowaniu w terminalu wklepywałem sobie czasem poleconko sync żeby wiedzieć kiedy operacja się zakończy i kiedy mogę bezpiecznie odmontowować sprzęt.

----------

## SlashBeast

Sprawdz jak bedzie, jak zamontujesz pendrive z opcja flush.  Zakladam, ze ta wklejka wyzej jest z ubuntu.

 *Quote:*   

> flush  If set, the filesystem will try to flush to disk more early than normal.  Not set by default.

 

Na oko flush robi 'sync' po kazdym pliku, flush ponoc jest zalecane dla pamieci usb. Ja sobie wlasnie spatchowalem pmount by vfat montowal z 'flush'.

EDIT: Potestowalem i to jest to.

Pmount uzywam do wszystkich wymiennych nosnikow.

patch, jakby kogos interesowalo: http://github.com/slashbeast/foo-overlay/blob/master/sys-apps/pmount/files/pmount-flush-mount-opt.patch

----------

## Pryka

yyy nie... mount jest z mojego Gentoo, jak kopiuję kilkanaście plików na pendrive'a to wygląda to następująco.

Załóżmy, że mam 3 filmy po 700mb kopiuję je wszystkie razem na pendrive'a najpierw idzie pierwszy film pasek postępu startując od zera zatrzymuje się na 1/3 swojej długości w błyskawicznym tempie potem jest długi, ale to bardzo długi przestój(sync?), następnie pasek leci dalej do 2/3 długości etc etc etc.

Wszystko trwa cholernie długo... pod Ubu albo Windowsem przez cały ten czas powtórzył bym ów operację pewnie 2-3 razy. Im większy plik tym dłużej wszystko trwa, oczywiście można powiedzieć, że to normalne bo więcej danych... ale okres oczekiwania wydłuża się całkowicie nieproporcjonalnie.

----------

## ryba84

Żeby się nie powtarzać. Sam miałem ten problem ale udało się go rozwiązać.

----------

## SlashBeast

Noop na pendrive? No nie wiem. A co do dirty_ratio to jest to procent pamieci ram, u mnie 20 daje 800M co jest chyba zbyt wielka iloscia. U mnie flush generalnie pomogl sporo.

----------

## ryba84

W nowszych kernelach jest jeszcze dirty_bytes więc możesz sobie ustawić dowolną wartość. Co do noop to sprawdź. Pamięci flash nie mają przecież głowic i talerzy, więc nie potrzebna tu chyba optymalizacja zapisu.Last edited by ryba84 on Wed Apr 07, 2010 3:33 pm; edited 1 time in total

----------

## Pryka

 *SlashBeast wrote:*   

> Noop na pendrive? No nie wiem. A co do dirty_ratio to jest to procent pamieci ram, u mnie 20 daje 800M co jest chyba zbyt wielka iloscia. U mnie flush generalnie pomogl sporo.

 

U mnie od razu był tam noop więc nie ma w tych chyba nic dziwnego

```
noop [cfq]
```

Pozostaje mi jeszcze zmienić dirty_ratio

----------

## ryba84

 *Pryka wrote:*   

> ...
> 
> ```
> noop [cfq]
> ```
> ...

 

Masz zaznaczone jako default cfq.

----------

## Pryka

@ryba84 no to zrobiłem epic faill...

@SlashBeast wracając do noop to wyczytałem, że to właśnie ono jest polecane do pendraków etc.

 *Quote:*   

> NOOP scheduler is best used with solid state devices such as flash memory or in general with devices that do not depend on mechanical movement to access data

 

----------

## SlashBeast

No dalem wiec 100M, zobaczymy jak to bedzie.

```
sysctl vm.dirty_bytes=104857600
```

Edit: No i widac efekt, zamiast leeeeciec na szybko i zatrzymac sie pod koniec kopiowania na bog wie ile, jest calkiem ladnie, Jestem ciekaw jaki bedzie mialo to wplyw na mojego LVMa i dmcrypta na dyskach normalnych.

Edit2: Sugerujac sie testami hdparma, ze 100M mam lekko nizsza wydajnosc, natomaist ze 150M (157286400) wszystko jest ladnie.

----------

## ryba84

Tak z czystej ciekawości zapytam jakie macie procki. Ja na starym pentiumm 1,2Ghz z usb 2.0 nie dałem rady wgrać 2GB obrazu za pomocą dd. System stawał się bezużyteczny (wszystko stawało w miejscu włącznie z myszką, a transfer rzędu 150kB/s). Po takich modyfikacjach jak powyżej osiągałem już 7MB/s.

----------

## SlashBeast

Core2 T7500, ale jak jest taka potrzeba, to mgoe przetestowac 'to' na usb 1.1 i procesorze Transmeta Course 733MHz (wydajnosc to ma jak zegarek od ruskich z bazaru, powaznie.).  :Wink: 

----------

## ryba84

Testowałem na pentium3 z usb 1.1 i też jest niewielka poprawa. Choć może nie tak zauważalna, bo tam problemów z responsywnością nie było, a że transfer kiepski to już wina sprzętu  :Wink: 

----------

## Pryka

Ja mam Intel Core Duo E2180 wykręcony do 3Ghz

----------

