cache vypisu adresare

Jirka magovec na post.cz
Úterý Říjen 12 10:22:50 CEST 2004


Pavel Kankovsky wrote:

> On Sun, 10 Oct 2004, Jirka wrote:
> 
>> mam jiz delsi dobu problem s vypisem adresare. Mam FAT32 primountovanou
>> jako vfat, kde mam adresar s vetsim mnozstvim dat (45GB celkem, 550
>> adresaru a cca 10 000 souboru).
> 
> Tim myslite, ze mate jeden adresar, kde je radove 10 tisic polozek?

Ne. Jeden adresar citajici asi 600 podadresaru a kazdy z podadresaru radove
10-50 souboru. Dohromady tedy ten nadrazeny adresar, sectu-li vsechny
soubory ve vsech jeho podadresarich, tak 10 tisic polozek.

> Tohle je obecne sileny napad, pri pouziti filesystemu, ktery adresare
> neuklada do nejake sofistikovane datove struktury (zrovna Reiserfs tohle
> dela), je to dvojnasob silene, a pri pouziti tak idiotskeho filesystemu,
> jako je FAT (FAT32 je skoro totez, VFAT by byl jeste o neco horsi), je to
> trojnasob silene. A kdyz k tomu jeste pridame fakt, ze implementace FAT
> v Linuxu neni nijak zvlast optimalizovana, zvlast ne s ohledem na takhle
> blaznive zpusoby pouziti, tak je to ctyrnasobne silene.

Vim, ze FAT(jakakoliv) na to neni vhodny filesystem, ale kuli Win ty data
chci mit tak, abych na ne moh pristupovat (a menit) jak z Linuxu tak z Win.

>> Ovsem tak po hodine to z cache vypusti a vec se opakuje. [...] Stroj ma
>> dostatek pameti, aby mu toto nevadilo (1GB).
> 
> A co mezitim ten stroj dela? Stoji a kouka, nebo pracuje? Pokud pracuje,
> tak se muze stat, ze tu pamet potrebuje, a protoze vidi, ze 
> "Reseni" by mohlo byt takove, ze pozadovanou operaci budete opakovat
> dostatecne casto, aby se udaje v kesi "obcerstvovaly" a drzely tam.

Na stroji se v soucasne dobe pracuje jako na workstation (X server) plus
nekolik serveru male zateze.

>> Verim, ze kernel ma treba kuli slabsim strojum v sobe timeout a kuli
>> uvolneni pameti to pak z ni vyhodi nicmene ja bych toto zde ocenil
>> mnohem vice i za cenu te pameti.
> 
> Verit neznamena vedet.
> 
> Jadro se aktivne pokousi se zbavit dirty stranek/bufferu/inodu (tj. zapsat
> je na disk) a snazi se drzet nejakou primerenou rezervu volnych stranek,
> ale neni vubec zadny duvod, proc by se melo snazit predcasne z pameti
> masove vyhazovat stranky/buffery/inody, co nejsou dirty, ty muze v pripade
> potreby kdykoli recyklovat na pockani.
 
Nevim (proto si jen myslim), jestli kernel ma timeouty na vyhazovani dirty
inodu. To, ze je vyhazuje sam, dle potreby, je jasne, ale me se nestava, ze
by to jednou vyhodil po 10 min a podruhe za 2 hodiny(jak by potreboval) ale
vice ci mene pokazde stejny cas.

Vidim, ze Vas toto pouziti a muj problem trochu pohorsil a to Vam nijak
neberu, nicmene ja bych ho, za pomoci Vas, znalejsich problemu, rad
vyresil. Vzhledem k tomu, ze ve Win neni nejmensi problem a nacteni tohoto
adresare i poprve po rebootu je otazkou pul vteriny jsi rikam, ze zde treba
existuje nejaka cesta (rici modulu vfat/ mountu atd aby nenacital casy,
fiktivni prava, atributy,...treba). Pripadne alespon urcit, ze je to dano
implementaci tohoto fs v Linuxu a ne jen nevhodnym nastavenim.

Jirka





Další informace o konferenci Linux