Posted By: snake (:q!) on 'CZmswindows'
Title:     Re: Winy z USB disku
Date:      Thu Dec 21 23:04:35 2006

> Vysvetli Woknum, ze maji swapovat do ramdisku. :)

To myslis vazne? Tak za prve, to prvni, co delam od doby, co mam alespon 64 MB 
RAM, bylo vzdy vypnuti swapu. Nikdy jsem swap proste nepotreboval, a to ani 
na linuxu (a oba systemy jsou ochotne swap pouzivat i kdyz vubec neni v danou 
chvili potreba, a tim mi zpomalovat praci).

No a za druhe, a to nejpodstatnejsi: swap je samozrejme z hlediska zapisu na 
flashku zdaleka ta nejidealnejsi aplikace. Uvedom si, ze to, co flashdisk 
nici, je opakovane prepisovani konkretniho mista (coz daleko vice odpovida 
napr. inkrementalnimu zapisu do logu, neustalem updatu timestampu u nejakych 
hodne vyuzivanych souboru jako jsou registry atd atd.). Swap je uplne o necem 
jinem: jde o zapisy a cteni obrovskeho mnozstvi dat, jenze zapis sekvencni, 
cili kazdy blok je zapsan jen jednou. A i kdyby system swapoval opravdu 
zurive, pak proste rozhodne nebude zapisovat na stale stejne misto (to by 
znamenalo jednoduse totalni selhani swapovaci strategie: tedy naprosto 
nejhorsi mozny odhad stranky vhodne k odlozeni; a myslim, ze i v pripade 
nejake hodne bestialni aplikace bys i windozum v tomto pripade proste 
krivdil)...

Kdyz budu pocitat takovej hodne divnej priklad, ze budu cyklicky prepisovat 
cely obsah dejme tomu ctyrgigovy pameti rychlosti (at se to dobre pocita) 10 
MB za vterinu, pak sam dojdes k zaveru, ze zrovnatakovahle strategie ke 
zniceni vede az za opravdu extremni dobu. Pocitej se mnou: 4 giga deleno 10 
mega je 400 vterin na jedno kolo. To je 9x do hodiny, tedy at nezeru 250x za 
den. I kdyz Ti dam jen 100 tisic zapisu, bude Ti takovy zpusob zniceni 
flashky trvat 400 dnu, cili dele nez rok. Jenze ono jde pocitat az s 
milionem, dal taky sotva swapujes celou dobu, dale pocitac budes z flashky 
poustet ne 24/7, ale spis jen tak 10% celkoveho casoveho fondu - a suma 
sumarum, prepisoval bys do zniceni 100 let...

Prekvapko, co?

snake

P.S. Na argumenty, ze swap nezabira celou flashku, ale treba jen jeden 
konkretni gigabajt z tech 4, nereflektuji: prave od toho je tu ten 
wear-leveling a kdyz zjisti, ze nektere bloky jsou o dost vice pouzivane nez 
jine, proste je zprehazi. U zapisu velkeho mnozstvi sekvencnich dat to 
funguje dokonale, protoze flashka je prepisovana po blocich. Jedine, proti 
cemu se nedokaze tak zdarile branit, je prepis jen jedinych bajtiku - flashka 
musi zapsat znovu cely blok. Jenze i na tohle funguje ten wear-leveling, 
pokud by vychazel zapis porad na ty stejne konkretni bloky a ostatni by 
zustavaly netknute, za druhe kvuli nutnosti zapisovat cely blok se vyrazne 
zpomaluje rychlost zapisu (klesa pak na desitky kilo ci i mene za vterinu) a 
za treti, od toho, aby podobne veci zbytecne nedelaly problemy, tu mame 
cachovani. To zaridi, ze se blok nezapise opakovane znova a znova jednoduse 
tim, ze zapis o nekolik malo vterin pozdrzi, nez se nashromazdi dat vice... 

Search the boards