Memory map file problem

Genny

Memory map file problem
« kdy: 15. 09. 2011, 10:03:02 »
Ahojte,
  mam RHEL 5.0, linux 2.6.18 kernel version, v produktu ktery namapuje nekolik gigabajtovych filu do pameti a pak s nimi pracuje se objevuji chyby. Z niceho nic se objevuji v techto souborech bloky null (treba i nekolik detikem megabajtu v kuse). Objevuje se to treba po nekolika dnech silneho provozu nad temito soubory. Zatim se nezda ze by si to produkt delal sam (stale investiguji), nicmene chci i zjistit jestli naaahodou nekdo nebyl svedkem podobneho issue (vim ze neco kdysi bylo s NFS ale mi to dela i na lokalnim disku). Nevite nekdo o tom neco ? :)

Diky,
Genny.


Sten

Re: Memory map file problem
« Odpověď #1 kdy: 15. 09. 2011, 10:13:00 »
NULLy se typicky objevují za koncem souboru nebo pokud někdo ten soubor promaže (truncate). Nedochází ke změnám těch souborů během toho, kdy jsou mapované?

Genny

Re: Memory map file problem
« Odpověď #2 kdy: 15. 09. 2011, 10:55:14 »
Ano urcite se do nich zapisuje ,ale delka souboru je porad stejna (musi byt z hladiska navrhu struktury uvnitr) ...

Sten

Re: Memory map file problem
« Odpověď #3 kdy: 15. 09. 2011, 11:11:35 »
Záleží, jak se do nich zapisuje. Pokud je to pomocí mmap a msync, pak tam nebude problém, ale pokud to je pomocí write, můžou tam při špatném použití (truncate místo lseek ap.) nastávat problémy.

Genny

Re: Memory map file problem
« Odpověď #4 kdy: 16. 09. 2011, 12:34:54 »
pise se primo do namapovane pameti. takze o zapis do souboru se stara system. Mno, nicmene je velice divny - objevuji se nam tam i 400MB velke bloky null. A vzdy jen v one namapovane casti pameti. Zjistime to az tak ze produkt detekuje nekonzistenci a ukonci se. Nicmene kdyby si tam onen proces nahodne psal do pameti sam tak by sem tam zapsal i mimo onu pamet a byl by videt seg fault. Ale to nenastava... memsety na nulu obsazene v kodu to nedelaji. ty jsou zkontrolovane..