Skip to main content

Описание

По одной строке на каждое активное семплированное выделение памяти из профилировщика кучи jemalloc; при чтении таблицы формируется (flush) новый профиль кучи. Учитываются только потоки, в которых включён профилировщик (настройка jemalloc_enable_profiler или параметр конфигурации jemalloc_enable_global_profiler); каждая строка соответствует примерно weight однотипным выделениям.

Столбцы

  • 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) — Уникальный внутренний ID jemalloc потока, выполнившего выделение памяти.
  • sample_interval (UInt64) — Среднее число выделенных байтов между образцами, указанное в заголовке профиля. Одинаково для всех строк.
Псевдонимы:
  • alloc_time — Псевдоним для now() - intDiv(age_ns, 1000000000).
  • weight — Псевдоним для 1 / (1 - exp((-usize) / sample_interval)).
Последнее изменение 26 сентября 2026 г.