segment_* 表
The segment_*
包含 Greenplum 数据库 segment 实例的内存分配统计信息。 它跟踪每个特定 segment 实例上全部 postgres 进程的内存消费数量, 以及由当前资源管理方案(基于资源组或基于资源队列)设置的每个 segment 可用的剩余内存数量.
参见 Greenplum 数据库管理员指南 了解更多关于资源管理方案的详细信息.
一共有三张 segment 表, 每张表都具有相同的结构(列):
segment_now
是一个外部表, 其数据文件位于$MASTER_DATA_DIRECTORY/gpperfmon/data
. 在数据从gpperfmon
数据采集代理程序获得以后,自动提交到 segment_history 表之前, 当前系统使用指标数据存储在segment_now
表中。segment_tail
是一个外部表, 其数据文件位于$MASTER_DATA_DIRECTORY/gpperfmon/data
. 它是一个内存分配信息的过渡表,当数据已经从segment_now
中清除,但还没有提交到segment_history
表中时,暂存在这里。 它通常仅包含数据几分钟时间。segment_history
是一个常规表, 用于存储历史内存分配指标。 它已预先设置为按月分区。 分区会根据需要以两个月为增量自动添加。
每个特定 segment 实例通过 hostname
和
dbid
(gp_segment_configuration
系统目录表中的 segment 唯一标识) 定义.
列 | 类型 | 说明 |
---|---|---|
ctime |
timestamp(0) (without time zone) | 该行的创建时间. |
dbid |
int | segment ID (gp_segment_configuration 中的 dbid ). |
hostname |
charvar(64) | segment 主机名称. |
dynamic_memory_used |
bigint | 当前 segment 上分配给查询进程的动态内存数量(单位: 字节). |
dynamic_memory_available |
bigint | 在到达当前资源管理方案(基于资源组或基于资源队列)设置限制前,segment 上还可分配的动态内存数量(单位: 字节). |
参见 memory_info
视图和 dynamic_memory_info
视图了解更多主机上内存分配汇总和使用信息.
Parent topic: gpperfmon 数据库