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))의 별칭.

더 알아보기 (Learn more)