segment_* tables contain memory allocation statistics for the Greenplum Database segment instances. This tracks the amount of memory consumed by all postgres processes of a particular segment instance, and the remaining amount of memory available to a segment as per the setting of the
postgresql.conf configuration parameter:
gp_vmem_protect_limit. Query processes that cause a segment to exceed this limit will be cancelled in order to prevent system-level out-of-memory errors. See the Greenplum Database Reference Guide for more information about this parameter.
There are three segment tables, all having the same columns:
segment_nowis an external table whose data files are stored in
$MASTER_DATA_DIRECTORY/gpperfmon/data. Current memory allocation data is stored in
segment_nowduring the period between data collection from the Command Center agents and automatic commitment to the segment_history table.
segment_tailis an external table whose data files are stored in
$MASTER_DATA_DIRECTORY/gpperfmon/data. This is a transitional table for memory allocation data that has been cleared from
segment_nowbut has not yet been committed to
segment_history. It typically only contains a few minutes worth of data.
segment_historyis a regular table that stores historical memory allocation metrics. It is pre-partitioned into monthly partitions. Partitions are automatically added in two month increments as needed. Administrators must drop old partitions for the months that are no longer needed.
A particular segment instance is identified by its
dbid (the unique segment identifier as per the
gp_segment_configuration system catalog table).
(without time zone)
|The time the row was created.|
||int||The segment ID (
||charvar(64)||The segment hostname.|
||bigint||The amount of dynamic memory (in bytes) allocated to query processes running on this segment.|
||bigint||The amount of additional dynamic memory (in bytes) that the segment can request before reaching the limit set by the
See also the views
dynamic_memory_info for aggregated memory allocation and utilization by host.