Wyciek pamięci
Wyciek pamięci to rodzaj błędu programistycznego, który powoduje, że program powoli zużywa systemową pamięć, aż nie pozostanie jej nic. Wyciek pamięci występuje stopniowo, powodując stopniowe pogarszanie wydajności komputera, aż program ulegnie awarii lub cały system operacyjny się zawiesi. Zamknięcie programu odpowiedzialnego za wyciek zwalnia pamięć systemową i rozwiązuje problem do czasu ponownego uruchomienia programu.
Do wycieków pamięci dochodzi, gdy program nie zwalnia pamięci po tym, jak przestaje jej potrzebować. Gdy program uruchamia proces, żąda od systemu określonej ilości pamięci do jego wykonania. Po zakończeniu procesu program powinien zwolnić tę pamięć i zwrócić ją systemowi, aby mogły z niej korzystać inne programy. Jeśli program nie zawiera właściwych funkcji zwalniających pamięć lub funkcje te nie są używane prawidłowo, będzie zamiast tego przechowywać tę pamięć bezterminowo. Gdy program uruchomi ten proces ponownie, zażąda od systemu dodatkowej pamięci zamiast użyć pamięci przydzielonej wcześniej, zwiększając ilość używanej pamięci RAM, aż system nie będzie miał już nic dla innych funkcji.
Program, w którym występuje wyciek pamięci, będzie tracić pamięć przy każdym uruchomieniu, dopóki błąd nie zostanie naprawiony. Na szczęście zestawy narzędzi do tworzenia oprogramowania często zawierają debugery, które mogą sprawdzać kod źródłowy programu pod kątem wycieków pamięci. Gdy programista znajdzie błąd, może zaktualizować program i wydać poprawkę.
NOTE: Niektóre języki programowania, takie jak Java i Python, używają techniki zarządzania pamięcią o nazwie „automatyczne zarządzanie pamięcią”, która automatycznie odzyskuje pamięć i może rozwiązać wiele, ale nie wszystkie, błędy związane z wyciekami pamięci.
Sprawdź swoją wiedzę