说明
与system.jemalloc_bins 相同,但每个 (arena, bin) 组合各占一行,而非跨 arena 聚合。Slab 只归属于单个 arena,因此该表能将内存碎片定位到具体的 arena (包括专用的 MergeTree metadata、JIT 和 cache arena) ,并可按 arena 和 大小类 两个维度与 system.jemalloc_sampled_allocations 进行连接。
列
arena(UInt32) — arena 的索引。与system.jemalloc_sampled_allocations.arena连接。purpose(String) — 专用长生命周期 arena 的用途:‘mergetree’ (part 与表 metadata) 、‘jit’、‘cache’。通用 arena 此列为空。专用 arena 按设计即持有长生命周期的内存分配;碎片化报告通常会将其排除。index(UInt16) — 按大小排序的 bin 的索引。large(UInt8) — 大分配为 True,小分配为 False。size(UInt64) — 该 bin 中分配的大小。allocations(Int64) — 分配次数。deallocations(Int64) — 释放次数。nregs(Int64) — 每个 slab 中的 region 数量。curslabs(Int64) — 当前 slab 数量。curregs(Int64) — 该大小类当前的 region 数量。slab_size(UInt64) — 每个 slab 的大小 (字节) 。大大小类不基于 slab,因此为零。nonfull_slabs(Int64) — 当前至少包含一个空闲 region 的 slab 数量。大大小类为零。
availregs—nregs * curslabs的别名。util—curregs / availregs的别名。waste—greatest((curslabs * slab_size) - (curregs * size), 0)的别名。