Fragmentacija se takođe dešava u sistemskoj memoriji (RAM). Aplikacijski i sistemski procesi dodeljuju i koriste memoriju u nesusednim blokovima, pošto se postojeći memorijski registri koriste i ponovo koriste.
Može li Ram postati fragmentiran?
Memory pageing stvara internu fragmentaciju jer će cijeli okvir stranice biti dodijeljen bez obzira da li je potrebno toliko prostora za pohranu ili ne. Zbog pravila koja reguliraju dodjelu memorije, ponekad se dodjeljuje više memorije računara nego što je potrebno.
Šta uzrokuje fragmentaciju memorije?
Fragmentacija memorije je kada je većina vaše memorije dodijeljena velikom broju nesusjednih blokova ili dijelova - ostavljajući dobar postotak vaše ukupne memorije nedodijeljen, ali neupotrebljiv za najtipičnije scenarije. Ovo rezultira iznimkama manjka memorije ili greškama u alokaciji (tj. malloc vraća null).
Je li fragmentacija memorije loša?
Uopšteno c++ programiranje nema problema sa fragmentacijom memorije. Uvek vidite virtuelnu memoriju i uvek dodeljujete kontinualne delove virtuelne memorije. Jedina stvar koju možete primijetiti da sekvencijalno dodijeljeni dijelovi nisu nužno susjedni u memoriji.
Kako spriječiti fragmentaciju memorije?
Ako možete da izolujete tačno ona mesta gde ćete verovatno dodeliti velike blokove, možete (na Windows-u) direktno pozvati VirtualAlloc umesto da prolazite kroz menadžer memorije. Ovo će izbjećifragmentacija unutar normalnog menadžera memorije.