반응형
기존 메모리 관리의 문제점
메모리를 직접 관리해야하는 언어들은 크게 두 가지 관점에서 문제점을 가지고 있다.
필요 없는 메모리를 삭제: 메모리를 사용하고 비우지 않는 경우, 메모리 누수가 발생할 수 있고 장기적인 관점에서 치명적일 수 있음
사용중인 메모리 삭제: 존재하지 않는 메모리에 접근하려고 하면 프로그램이 중단되거나 데이터가 손상될 수 있음
이러한 문제를 해결하기 위해 자동 메모리 관리(Automatic Memory Management) 시스템이 등장하게 되었음
GC module 사용
gc 모듈을 사용하여 가비지 컬렉션 통계를 확인하거나 가비지 컬렉터의 동작을 변경할 수 있다.
--
gc 모듈을 사용하며 get_threshold() method를 사용하여 가비지 컬렉터의 구성된 임계값을 확인할 수 있다.
>>> import gc
>>> gc.get_threshold()
(700, 10, 10)
>>> import gc
>>> collected = gc.collect()
>>> print(collected)
아무것도 수행되지 않은 경우에는 아무것도 출력되지 않는다.
보통 gc는 시스템 오류 발생이 적을.. 예를 들면 새벽시간에 cron 스케쥴러로 돌려주는게 좋다고 한다.
더 자세한 내용은 아래 문서에서 확인할 수 있다.
반응형
'Python' 카테고리의 다른 글
[Python] 파이썬 프로파일링 (w/ line_profiler) (0) | 2023.02.28 |
---|---|
[Python] 파이썬에서 YAML(야믈) 사용하기 (0) | 2022.12.13 |
librosa와 soundfile 패키지를 이용한 음성 다운 샘플링 (0) | 2022.09.29 |
[Flask] Python으로 REST API 만들기 (0) | 2022.08.18 |
[Pandas] 데이터프레임 날짜/시간을 날짜로 변환하는 방법 (0) | 2022.08.16 |
댓글