51.26. pg_shmem_allocations#

51.26. pg_shmem_allocations

51.26. pg_shmem_allocations #

Представление pg_shmem_allocations показывает выделения, сделанные из основного сегмента разделяемой памяти сервера

Обратите внимание, что в этом представлении не учитывается память, выделенная с использованием инфраструктуры динамической общей памяти.

Таблица 51.26. pg_shmem_allocations Колонки

Тип столбца

Описание

name text

Имя выделенного общей памяти. NULL для неиспользуемой памяти и <анонимная> для анонимных выделений.

off int8

Смещение, с которого начинается выделение. NULL для анонимных выделений, так как сведения о них неизвестны.

size int8

Размер выделения в байтах

allocated_size int8

Размер выделения в байтах, включая выравнивание. Для анонимных выделений информация о выравнивании недоступна, поэтому колонки size и allocated_size всегда будут равны. Выравнивание не имеет значения для свободной памяти, поэтому в этом случае колонки также будут равны.


Анонимные выделения - это выделения, которые были сделаны с помощью ShmemAlloc() напрямую, а не через ShmemInitStruct() или ShmemInitHash().

По умолчанию, представление pg_shmem_allocations может быть прочитано только суперпользователями или ролями с привилегиями роли pg_read_all_stats.