메모리 누수

메모리 누수는 프로그램이 시스템 메모리를 천천히 소비하여 결국 메모리가 모두 소진되도록 만드는 일종의 프로그래밍 오류입니다. 메모리 누수는 서서히 발생하므로 컴퓨터 성능이 점차 저하되다가 프로그램이 충돌하거나 전체 운영 체제가 멈춥니다. 누수를 일으킨 프로그램을 종료하면 시스템 메모리가 확보되어 문제가 해결되지만, 해당 프로그램을 다시 실행하면 문제가 재발합니다.

메모리 누수는 프로그램이 더 이상 메모리를 필요로 하지 않는데도 메모리를 해제하지 않을 때 발생합니다. 프로그램이 프로세스를 실행하면 해당 프로세스를 실행하는 데 필요한 메모리 양을 시스템에 요청합니다. 프로세스가 완료되면 프로그램은 다른 프로그램이 사용할 수 있도록 해당 메모리를 시스템에 반환해야 합니다. 프로그램에 메모리를 확보하는 올바른 함수가 포함되어 있지 않거나 이러한 함수를 올바르게 사용하지 않으면, 프로그램은 대신 해당 메모리를 무기한 점유합니다. 나중에 프로그램이 해당 프로세스를 다시 실행하면 이미 할당한 메모리를 사용하는 대신 시스템에 더 많은 메모리를 요청하므로, 시스템에 다른 기능을 위한 메모리가 남지 않을 때까지 사용하는 RAM의 양이 증가합니다.

메모리 누수가 발생하는 프로그램은 오류가 수정될 때까지 실행할 때마다 계속 메모리를 누수합니다. 다행히 소프트웨어 개발 키트에는 프로그램의 소스 코드에서 메모리 누수를 확인할 수 있는 디버거가 포함된 경우가 많습니다. 프로그램의 개발자가 오류를 찾으면 프로그램을 업데이트하고 패치를 배포할 수 있습니다.

NOTE: JavaPython 같은 일부 프로그래밍 언어는 "가비지 컬렉션"이라는 메모리 관리 기법을 사용합니다. 이 기법은 메모리를 자동으로 회수하며 많은 메모리 누수 오류를 해결할 수 있지만, 모든 오류를 해결할 수 있는 것은 아닙니다.

업데이트됨 October 25, 2023 작성: Brian P.

quiz지식 테스트하기

A virtual machine saved state may also be called what?

A
Hard copy
0%
B
Static memory
0%
C
Snapshot
0%
D
Breakpoint
0%
Correct! Incorrect!     View the Snapshot definition.
More Quizzes →

Tech Terms 컴퓨터 사전

이 페이지의 메모리 누수에 대한 정의는 TechTerms.com의 저자가 작성한 원본 정의입니다. 이 페이지를 참조하거나 이 정의를 인용하려면 정의 바로 아래에 있는 녹색 인용 표시줄을 사용하세요.

저희의 목표는 컴퓨터 용어를 이해하기 쉬운 방식으로 설명하는 것입니다. 게시하는 모든 정의에서 정확성과 간결함을 추구합니다. 이 정의에 대한 피드백이 있거나 새로운 기술 용어를 제안하고 싶으시면 문의해 주세요.

Tech Terms 뉴스레터

매일 또는 매주 발행되는 뉴스레터로 기술 지식을 향상시키세요! 지금 구독하고 새로운 용어와 퀴즈를 이메일로 받아보세요.

무료 TechTerms 뉴스레터 구독하기

이메일을 얼마나 자주 받고 싶으신가요?

각 이메일에 포함된 링크를 통해 언제든지 구독을 취소하거나 수신 빈도를 변경할 수 있습니다. 질문이 있으신가요? 문의해 주세요.

참고: 뉴스레터는 영어로 발송됩니다.