Postgresql 中文操作指南

54.26. pg_shmem_allocations #

_pg_shmem_allocations_视图显示从服务器的主共享内存段分配的分配。这包括 PostgreSQL 本身分配的内存,以及使用 Section 38.10.10中详细机制的扩展分配的内存。

注意,此视图不包括使用动态共享内存基础设施分配的内存。

Table 54.26. pg_shmem_allocations Columns

Column Type

Description

name text 共享内存分配的名称。对于未使用的内存为 NULL,对于匿名分配为 <anonymous>

off int8 分配开始的偏移量。对于匿名分配为 NULL,因为不知道与它们相关的信息。

size int8 以字节为单位的分配大小

allocated_size int8 包括填充在内的以字节为单位的分配大小。对于匿名分配,无法获得有关填充的信息,因此 sizeallocated_size 列将始终相等。对于空闲内存,填充没有意义,因此列也会相等。

匿名分配是使用 ShmemAlloc() 直接进行的,而不是通过 ShmemInitStruct()ShmemInitHash() 进行的。

默认情况下,只有具有 pg_read_all_stats 角色权限的超级用户或角色才能读 pg_shmem_allocations 视图。