jemalloc_sampled_allocations 시스템 테이블
jemalloc_sampled_allocations 시스템 테이블
jemalloc_sampled_allocations 시스템 테이블은 jemalloc 힙 프로파일러에서 살아있는 샘플링된 할당마다 한 행을 담고 있어요. 테이블을 읽으면 새 힙 프로필이 플러시돼요. 프로파일러가 장착된 스레드만 기여하며(jemalloc_enable_profiler 설정 또는 jemalloc_enable_global_profiler 구성), 각 행은 대략 weight개의 유사한 할당을 나타내요.
출처: 문서
본문
Description (설명)
jemalloc 힙 프로파일러에서 살아있는 샘플링된 할당마다 한 행을 담고 있어요. 테이블을 읽으면 새 힙 프로필이 플러시돼요. 프로파일러가 장착된 스레드만 기여하며(jemalloc_enable_profiler 설정 또는 jemalloc_enable_global_profiler 구성), 각 행은 대략 weight개의 유사한 할당을 나타내요.
Columns (열)
trace(Array(UInt64)) — 할당하는 백트레이스의 주소, 리프 프레임 먼저(system.trace_log.trace와 같은 규칙).addressToSymbol와demangle로 심볼화해요(allow_introspection_functions필요).age_ns(UInt64) — 프로필이 플러시된 시점을 기준으로 할당이 살아있던 시간(나노초).size(UInt64) — 요청된 할당 크기(바이트).usize(UInt64) — 사용 가능한 크기(바이트), 즉 요청이 올림된 크기 클래스.size_class(UInt16) — 크기 클래스의 인덱스. 작은 크기 클래스에 대해서는system.jemalloc_bins.index에 조인돼요.arena(UInt32) — 할당이 제공된 아레나의 인덱스.thr_uid(UInt64) — 할당하는 스레드의 jemalloc-내부 고유 id.sample_interval(UInt64) — 샘플 사이의 평균 할당 바이트 수, 프로필 헤더에서 가져옴. 모든 행에 같아요.
Aliases (별칭):
alloc_time—now() - intDiv(age_ns, 1000000000)의 별칭.weight—1 / (1 - exp((-usize) / sample_interval))의 별칭.