Описание
То же, что иsystem.jemalloc_bins, но с одной строкой на каждую пару (арена, bin) вместо агрегирования по аренам. Slab-блоки принадлежат одной арене, поэтому эта таблица позволяет локализовать фрагментацию в конкретной арене (включая отдельные арены для метаданных MergeTree, JIT и кэш) и соединяется JOIN с system.jemalloc_sampled_allocations одновременно по arena и size class.
Столбцы
arena(UInt32) — индекс арены. Связывается сsystem.jemalloc_sampled_allocations.arena.purpose(String) — назначение выделенной долгоживущей арены: ‘mergetree’ (метаданные part и таблиц), ‘jit’, ‘cache’. Пусто для арен общего назначения. Выделенные арены по своей природе содержат долгоживущие выделения памяти, поэтому из отчётов о фрагментации их обычно исключают.index(UInt16) — индекс bin в порядке возрастания размера.large(UInt8) — True для крупных выделений и False для мелких.size(UInt64) — размер выделений в этом bin.allocations(Int64) — количество выделений.deallocations(Int64) — количество освобождений памяти.nregs(Int64) — количество регионов на Slab-блок.curslabs(Int64) — текущее количество Slab-блоков.curregs(Int64) — текущее количество регионов для данного size class.slab_size(UInt64) — размер каждого Slab-блока в байтах. Ноль для крупных size classes, которые не основаны на Slab-блоках.nonfull_slabs(Int64) — текущее количество Slab-блоков, содержащих хотя бы один свободный регион. Ноль для крупных size classes.
availregs— псевдоним дляnregs * curslabs.util— псевдоним дляcurregs / availregs.waste— псевдоним дляgreatest((curslabs * slab_size) - (curregs * size), 0).