위키득계정 ↗
기술

jemalloc

jemalloc기술
소프트웨어 유형
범용 메모리 할당기
주요 관심
단편화와 동시성
기본 인터페이스
malloc과 free 등
추가 기능
힙 프로파일과 통계 및 조정
jemalloc은 메모리 단편화를 줄이고 여러 스레드의 할당 요청을 처리하도록 설계된 범용 메모리 할당기다. 표준 할당 함수와 함께 힙 프로파일 및 통계와 동작 조정 기능을 제공한다.

표준 할당 인터페이스

malloc과 calloc 및 realloc과 free 같은 함수로 메모리를 할당하고 크기를 바꾸거나 반환한다. 응용이 사용하는 메모리 요청을 처리하는 구현이며 할당 크기와 동작을 조사하거나 조정하는 추가 인터페이스도 제공한다.

아레나와 스레드 캐시

여러 아레나로 할당 영역을 나누어 다중 처리 장치 환경의 잠금 경합을 줄인다. 스레드별 캐시는 많은 요청에서 공통 동기화를 피하도록 돕는다. 다만 아레나와 캐시가 각각 자료를 보유하므로 동시성 개선과 메모리 사용 및 단편화 사이의 절충이 있다.

관측과 동작 조정

힙 프로파일과 통계 및 실행 옵션으로 할당기의 상태를 살필 수 있다. 통계는 사람이 읽는 형식이나 JSON으로 출력할 수 있다. 요청한 메모리의 크기와 실제로 할당기가 관리하는 공간의 특성을 구분해 응용의 메모리 동작을 조사하는 데 활용한다.

관련 문서

gperftools / Heaptrack / Memray / 메모리 관리 / JSON / 프로파일링