Curenje memorije
Proces curenja memorije predstavlja postepeno povećanje količine radne memorije koju troši pokrenuti program. Obično je posledica greške u programu, zbog koje se neiskorišćena memorija ne oslobađa.
Posebno su opasna curenja memorije kod programa koji rade dugo vreme bez ponovnog pokretanja. U tom slučaju nakon nekog vremena takav program može da potroši celu dostupnu količinu radne memorije, što će dovesti do hitnog zaustavljanja programa ili, što je još gore, do neispravnog rada.
Postoje sledeći načini za sprečavanje curenja memorije:
- Primena sakupljača otpada, koji oslobađaju neiskorišćenu memoriju, ali istovremeno uzimaju deo resursa sistema za svoj rad, što dovodi do usporavanja ili zastoja u radu.
- Ponovno pokretanje programa pomoću spoljašnjeg programa, kao rezultat čega se po završetku rada programa cela memorija vraća sistemu i curenja postaju manjih razmera.
- Odbacivanje dinamičke alokacije memorije, što sa svoje strane isključuje slične greške, ali i ograničava funkcionalnost programa.
- Korišćenje vlasničkih pokazivača kako bi se usaglasilo vreme života pokazivača i vreme života objekta na koji on pokazuje. Međutim, ovaj način nije pogodan za ciklične reference između objekata.
Vidite takođe
-
period vreme izvršavanja,
tokom koga se program izvršava -
Početni podaci,
koji predstavljaju lokaciju podataka -
skup programa softver,
koji obezbeđuje funkcionisanje aplikacija -
skup programa operativni sistem,
koji obezbeđuje upravljanje sistemima računara