52.88. pg_shmem_allocations

pg_shmem_allocations视图显示从服务器的主共享内存段的分配模式。 这包括由postgres 本身分配的内存和使用第 38.10.10 节中详细说明的通过扩展分配内存的机制。

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

表 52.89. pg_shmem_allocations Columns

列类型

描述

name text

共享内存分配的名字. 未使用的内存为NULL ,并且匿名分配的为 <anonymous>

off int8

分配开始的偏移量。匿名分配和未使用的内存为 NULL,因为与它们相关的详细信息为未知。

size int8

分配的大小

allocated_size int8

包括填充的分配的大小。对于匿名分配,没有有关填充的信息可用,因此sizeallocated_size列将始终相等。 填充对于可用内存没有意义,因此在这种情况下,列也将相等。


匿名分配是直接使用 ShmemAlloc()分配, 而不是通过ShmemInitStruct()ShmemInitHash().

默认的, pg_shmem_allocations 视图只能被超级用户读取。