pg_shmem_allocations_numa #
pg_shmem_allocations_numa 显示服务器的
主共享内存段中的共享内存分配在各 NUMA 节点间如何分布。
这既包括
PostgreSQL 自身分配的内存,
也包括使用
Section 36.10.11 中详述的机制由扩展分配的
内存。
只要共享内存段分布在多个 NUMA 节点上,这个视图就会为每个共享
内存段输出多行。
监控系统不应查询这个视图,因为它非常慢,并且如果共享内存此前
未被使用,它可能会最终导致分配共享内存。
这个视图目前的局限是不会显示匿名的共享内存分配。
注意,这个视图不包含使用动态共享内存基础设施分配的内存。
在确定 NUMA 节点时,这个视图会触碰共享内存段的 所有内存页面。 如果共享内存尚未被分配,这会强制分配它, 并且这些内存可能被分配在单个 NUMA 节点中(取决于系统配置)。
Table 53.28. \1 字段列说明
Column Type Description |
|---|
共享内存分配的名称。 |
NUMA 节点的 ID |
此特定 NUMA 内存节点上分配的大小(以字节计) |
默认情况下,只有超级用户或具有
pg_read_all_stats 角色特权的角色才能读取
pg_shmem_allocations_numa 视图。