Skip to content

54.26.pg_shmem_allocations#

pg_shmem_allocations视图显示从服务器的主共享内存段中进行的分配。这包括PostgreSQL本身分配的内存和使用第 38.10.10 节中详细介绍的机制由扩展分配的内存。

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

表 54.26.pg_shmem_allocations

列类型

说明

name text

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

off int8

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

size int8

分配的大小(以字节为单位)

allocated_size int8

分配的大小(以字节为单位),包括填充。对于匿名分配,没有填充信息可用,因此 sizeallocated_size 列将始终相等。填充对于空闲内存没有意义,因此在这种情况下,这些列也将相等。

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

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