Atminties nutekėjimas
Atminties nutekėjimo procesas reiškia palaipsnį operatyviosios atminties kiekio padidėjimą, kurį sunaudoja paleista programa. Paprastai yra programoje padarytos klaidos pasekmė, dėl kurios nepanaudota atmintis neatlaisvinama.
Ypač pavojingi atminties nutekėjimai programose, kurios veikia ilgą laiką nepersikraunant. Tokiu atveju po tam tikro laiko ši programa gali išnaudoti visą prieinamą operatyviosios atminties kiekį, kas sukels avarinį programos sustabdymą arba, kas dar blogiau, netinkamą jos veikimą.
Yra šie atminties nutekėjimo prevencijos būdai:
- Šiukšlių surinkėjų, kurie atlaisvina nenaudojamą atmintį, tačiau tuo pačiu atsiima dalį sistemos resursų savo veiklai, naudojimas, dėl ko atsiranda sistemos veikimo sulėtėjimų arba užstringimų.
- Programos perkrovimas naudojant išorinę programą, dėl kurio baigus programos darbą visa atmintis vėl grąžinama sistemai ir nutekėjimai tampa ne tokio masto.
- Atsisakymas nuo dinaminio atminties paskirstymo, kas savo ruožtu pašalina tokias klaidas, bet ir apriboja programų funkcionalumą.
- Nuosavybės rodyklių naudojimas tam, kad suderintumėte rodyklės gyvavimo laiką ir objekto, į kurį ji rodo, gyvavimo laiką. Tačiau šis būdas netinka ciklinėms nuorodoms tarp objektų.
Taip pat žiūrėkite
-
Vykdymo laikas,
per kurį vykdoma programa -
Pradiniai duomenys,
kurie reiškia duomenų buvimo vietą -
programų rinkinys Programinė įranga,
kuris užtikrina programų veikimą -
programų rinkinys Operacinė sistema,
kuri užtikrina kompiuterio sistemų valdymą