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

《マッチ度[85.806452]》パディングを含む獲得サイズです。 無名の獲得では、パディングに関する情報はありません。ですからsizeallocated_size列は常に同じです。 パディングは未使用メモリでは意味がありません。ですからそのような列でも同じになります。 《機械翻訳》パディングを含むバイト単位の割当てサイズ。 匿名の割当てでは、パディングに関する情報はありませんので、size列とallocated_size列は常に等しくなります。 空きメモリに対してはパディングは意味がないので、この場合も両者は等しくなります。


無名の獲得は、ShmemInitStruct()あるいはShmemInitHash()ではなく、ShmemAlloc()で直接行われたものです。

デフォルトではpg_shmem_allocationsはスーパーユーザか、pg_read_all_statsロールの権限を持つロールだけが読み取りできます。