update/bdflush problem

Alexandr Malusek malusek na sysel.ujf.cas.cz
Středa Červenec 30 20:18:16 CEST 1997


Ruznych implementaci virtualni pameti je spousta. Neco o Linuxu je na
http://www.linuxhq.com/guides/TLK.

> Ona ta knihovna ma inkriminovany soubor namapovan (pomoci mmap) do pameti.
> Jdou zapisy takoveho souboru taky pres cache (tzn. realizuji se asynchronne,
> se zpozdenim) ?

Ano.

> Napada me jeste neco : podle ceho se cache manager rozhoduje, ze prislusny
> buffer ponecha v cache pro pristi cteni ?

Kriterii je vice. Obecne plati, ze cim casteji se k dane strance ve
virtualni pameti pristupuje, tim vetsi je pravdepodobnost, ze ji
pagedaemon (kswapd pod Linuxem) necha v pameti. Na nekolika radcich
se to dostatecne presne popsat neda.

> Jestli to neni tak, ze ta diskova aktivita je zpusobena intenzivnim
> ctenim, ktere rejdi po celem souboru (par MB) dokola, ale v cache
> prislusne buffery nezustavaji.

SVR4 nema specialni diskovou vyrovnavaci pamet pro data - vse je
reseno v ramci virtualni pameti. Takze cim mene RAM je zabrano pro
texty programu (tj. instrukce), tim vice mista je pro souborova data a
naopak. Nepresne receno - pagedeamonu je jedno, jestli ta stranka
virtualni pameti obsahuje text programu, nebo data nejakeho souboru.
Pokud ke strance uz dlouho zadny proces nepristupoval a v systemu je
potreba alokovat nejake dalsi stranky, tak ji odlozi, nebo zrusi.
Vyse uvedenou dokumentaci k Linuxu jsem jeste neprostudoval, ale
myslim, ze Linux to dela podobne jako SVR4.

Takze k tomu intenzivnimu cteni by melo dochazet jen v pripade
nedostatku RAM, kdy by kvuli novym strankam bylo potreba uvolnovat
stare a ty by pak schazely pri jejich nasledovnem cteni.

Prostredky, ktere to umoznuji vysledovat (vmstat, pripadne sar),
pod Linuxem nejsou.

Mozna, ze casove nejrychlejsi by bylo pridat trochu RAM a porovnat
chovani, pripadne to zkompilovat a pustit na Unixu, ktery tyto
prostredky ma. Muze jit i o ne neprilis efektivne naprogramovanou
spravu virtualni pameti pod Linuxem, nevim. Napr. v Solarisu se tyto
veci pomerne casto menily (Solaris 2.4 a vyssi se snazi pri zapisu
stranek do swapu o shlukovani vice stranek najednou, menil se
algoritmus pro odswapovani celeho procesu, ...)

-- 
Alexandr Malusek (malusek na ujf.cas.cz)
UJF AV CR


Další informace o konferenci Linux