Описание
Содержит агрегированную по всем аренам информацию о выделениях памяти, выполненных через аллокатор jemalloc в разных классах размеров (bins). Эта статистика может быть не совсем точной из-за локального кэширования в jemalloc на уровне потоков.
Столбцы
index(UInt16) — Индекс bin, упорядоченного по размеру.large(UInt8) — True для крупных выделений и False для небольших.size(UInt64) — Размер выделений в этом bin.allocations(Int64) — Количество выделений.deallocations(Int64) — Количество освобождений памяти.nregs(Int64) — Количество регионов в slab.curslabs(Int64) — Текущее количество slab.curregs(Int64) — Текущее количество регионов для этого класса размеров.
Псевдонимы:
availregs— Псевдоним дляnregs * curslabs.util— Псевдоним дляcurregs / availregs.
Пример
Найдите размеры выделений, которые больше всего повлияли на текущее общее использование памяти.
SELECT
*,
allocations - deallocations AS active_allocations,
size * active_allocations AS allocated_bytes
FROM system.jemalloc_bins
WHERE allocated_bytes > 0
ORDER BY allocated_bytes DESC
LIMIT 10┌─index─┬─large─┬─────size─┬─allocactions─┬─deallocations─┬─active_allocations─┬─allocated_bytes─┐
│ 82 │ 1 │ 50331648 │ 1 │ 0 │ 1 │ 50331648 │
│ 10 │ 0 │ 192 │ 512336 │ 370710 │ 141626 │ 27192192 │
│ 69 │ 1 │ 5242880 │ 6 │ 2 │ 4 │ 20971520 │
│ 3 │ 0 │ 48 │ 16938224 │ 16559484 │ 378740 │ 18179520 │
│ 28 │ 0 │ 4096 │ 122924 │ 119142 │ 3782 │ 15491072 │
│ 61 │ 1 │ 1310720 │ 44569 │ 44558 │ 11 │ 14417920 │
│ 39 │ 1 │ 28672 │ 1285 │ 913 │ 372 │ 10665984 │
│ 4 │ 0 │ 64 │ 2837225 │ 2680568 │ 156657 │ 10026048 │
│ 6 │ 0 │ 96 │ 2617803 │ 2531435 │ 86368 │ 8291328 │
│ 36 │ 1 │ 16384 │ 22431 │ 21970 │ 461 │ 7553024 │
└───────┴───────┴──────────┴──────────────┴───────────────┴────────────────────┴─────────────────┘