NAME
malloc_trim - 힙에서 안 쓰는 메모리 해제하기
SYNOPSIS
#include <malloc.h>
int malloc_trim(size_t pad);
DESCRIPTION
malloc_trim()
함수는 (적절한 인자로 sbrk(2)나 madvise(2)를 호출해서) 힙에서 안 쓰는 메모리를 해제하려고 시도한다.
pad
인자는 힙 상단에 없애지 않고 남겨둘 빈 공간의 양을 나타낸다. 이 인자가 0이면 힙 상단에 최소한의 메모리만 (즉 한 페이지 이하만) 유지한다. 향후 sbrk(2)로 힙을 확장하지 않고도 할당을 할 수 있도록 하기 위해 0 아닌 인자를 사용해 힙 상단에 약간의 잔여 공간을 유지할 수도 있다.
RETURN VALUE
malloc_trim()
함수는 실제로 메모리를 시스템으로 해제했으면 1을 반환하고 메모리를 더 해제할 수 없었으면 0을 반환한다.
ERRORS
어떤 오류도 정의되어 있지 않다.
ATTRIBUTES
이 절에서 사용하는 용어들에 대한 설명은 attributes(7)를 보라.
인터페이스 | 속성 | 값 |
---|---|---|
malloc_trim() |
스레드 안전성 | MT-Safe |
CONFORMING TO
이 함수는 GNU 확장이다.
NOTES
(sbrk(2)를 쓰는) 메인 힙에서만 pad
인자를 이용한다. 스레드 힙에선 무시한다.
glibc 2.8부터 이 함수는 모든 아레나에서, 그리고 유휴 페이지로만 된 모든 청크에서 메모리를 해제한다.
glibc 2.8 전에서 이 함수는 메인 아레나의 힙 상단에서만 메모리를 해제했다.
SEE ALSO
sbrk(2), malloc(3), mallopt(3)
2021-03-22