용어 사전 coding 용어 페이지

메모리 누수

빌린 메모리를 돌려주지 않아 접근도 못 하고 회수도 못 하는 상태

memory-leak #c#debugging#memory
English version

다른 이름

memory leakleak누수

선수 개념

관련 개념

핵심 아이디어

메모리 누수는 프로그램이 동적 메모리 할당으로 확보한 공간을 더 이상 쓰지 않는데도 free하지 않아, 그 공간이 계속 남아 버리는 상태입니다. 누수된 메모리는 다시 접근할 수도 없고 시스템에 돌려줄 수도 없어서, 실행 시간이 길수록 프로그램을 점점 무겁게 만듭니다.

즉시 크래시가 나는 오류가 아니라는 점도 어렵습니다. 프로그램은 한동안 멀쩡하게 보일 수 있지만, 반복 실행이나 장시간 서비스에서 메모리를 서서히 잠식합니다. 그래서 메모리 누수는 "지금 당장 안 터져도 고쳐야 하는 버그"의 대표 예입니다.

이 블로그에서의 역할

Mathbong에서는 C 시리즈에서 mallocfree를 배우는 순간부터 누수를 함께 설명합니다. 포인터 수명 관리, 함수 간 소유권 전달, valgrind나 AddressSanitizer 같은 도구 사용을 한 줄로 묶어 주는 실전 허브 개념입니다.

이 개념을 다루는 글