监控的所有语法支持基于Postgres的FDW表,包括下面的表或索引大小。此外,还存在用于监控MOT内存消耗的特殊函数,包括MOT全局内存、MOT本地内存和单个客户端会话。
表和索引大小
可以通过查询pg_relation_size来监控表和索引的大小。
例如:
数据大小
select pg_relation_size('customer');
索引
select pg_relation_size('customer_pkey');
MOT全局内存详情
检查MOT全局内存大小,主要是数据和索引。
select * from mot_global_memory_detail();
结果如下。
numa_node | reserved_size | used_size
----------------+----------------+-------------
-1 | 194716368896 | 25908215808
0 | 446693376 | 446693376
1 | 452984832 | 452984832
2 | 452984832 | 452984832
3 | 452984832 | 452984832
4 | 452984832 | 452984832
5 | 364904448 | 364904448
6 | 301989888 | 301989888
7 | 301989888 | 301989888
其中,
- -1为总内存。
- 0–7为NUMA内存节点。
MOT本地内存详情
检查MOT本地内存大小,包括会话内存。
select * from mot_local_memory_detail();
结果如下。
numa_node | reserved_size | used_size
----------------+----------------+-------------
-1 | 144703488 | 144703488
0 | 25165824 | 25165824
1 | 25165824 | 25165824
2 | 18874368 | 18874368
3 | 18874368 | 18874368
4 | 18874368 | 18874368
5 | 12582912 | 12582912
6 | 12582912 | 12582912
7 | 12582912 | 12582912
其中,
- -1为总内存。
- 0–7为NUMA内存节点。
会话内存
会话管理的内存从MOT本地内存中获取。
所有活动会话(连接)的内存使用量可以通过以下查询。
select * from mot_session_memory_detail();
结果如下。
sessid | total_size | free_size | used_size
---------------------------------––––––-+-----------+----------+----------
1591175063.139755603855104 | 6291456 | 1800704 | 4490752
其中,
- total_size:分配给会话的内存。
- free_size:未使用的内存。
- used_size:使用中的内存。
DBA可以通过以下查询确定当前会话使用的本地内存状态。
select * from mot_session_memory_detail()
where sessid = pg_current_sessionid();
结果如下。