Перейти к основному содержимому

pg_shmem_allocations_numa

Представление pg_shmem_allocations_numa показывает, как распределяются выделенные ресурсы общей памяти в основном сегменте общей памяти сервера между узлами NUMA. Это включает как память, выделенную самим PostgreSQL, так и память, выделенную расширениями с использованием механизмов, описанных в разделе «Запрос общей памяти при запуске сервера». Это представление будет выводить несколько строк для каждого из сегментов общей памяти при условии, что они распределены по нескольким узлам NUMA. Системы мониторинга не должны запрашивать это представление, поскольку оно работает очень медленно и может привести к выделению общей памяти, если она ранее не использовалась. Текущее ограничение этого представления заключается в том, что оно не отображает анонимные выделения общей памяти.

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

warning

При определении узла NUMA представление обращается ко всем страницам памяти сегмента общей памяти. Это приведет к принудительному выделению общей памяти, если она еще не была выделена, и память может быть выделена в одном узле NUMA (в зависимости от конфигурации системы).

Столбцы pg_shmem_allocations_numa:

СтолбецТипОписание
nametextИмя выделенной общей памяти
numa_nodeint4Идентификатор узла NUMA
sizeint8Размер выделенной памяти на данном узле NUMA в байтах

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