MOT监控

监控的所有语法支持基于Postgres的FDW表,包括下面的表或索引大小。此外,还存在用于监控MOT内存消耗的特殊函数,包括MOT全局内存、MOT本地内存和单个客户端会话。

表和索引大小

可以通过查询pg_relation_size来监控表和索引的大小。

例如:

数据大小

  1. select pg_relation_size('customer');

索引

  1. select pg_relation_size('customer_pkey');

MOT全局内存详情

检查MOT全局内存大小,主要是数据和索引。

  1. select * from mot_global_memory_detail();

结果如下。

  1. numa_node | reserved_size | used_size
  2. ----------------+----------------+-------------
  3. -1 | 194716368896 | 25908215808
  4. 0 | 446693376 | 446693376
  5. 1 | 452984832 | 452984832
  6. 2 | 452984832 | 452984832
  7. 3 | 452984832 | 452984832
  8. 4 | 452984832 | 452984832
  9. 5 | 364904448 | 364904448
  10. 6 | 301989888 | 301989888
  11. 7 | 301989888 | 301989888

其中,

  • -1为总内存。
  • 0–7为NUMA内存节点。

MOT本地内存详情

检查MOT本地内存大小,包括会话内存。

  1. select * from mot_local_memory_detail();

结果如下。

  1. numa_node | reserved_size | used_size
  2. ----------------+----------------+-------------
  3. -1 | 144703488 | 144703488
  4. 0 | 25165824 | 25165824
  5. 1 | 25165824 | 25165824
  6. 2 | 18874368 | 18874368
  7. 3 | 18874368 | 18874368
  8. 4 | 18874368 | 18874368
  9. 5 | 12582912 | 12582912
  10. 6 | 12582912 | 12582912
  11. 7 | 12582912 | 12582912

其中,

  • -1为总内存。
  • 0–7为NUMA内存节点。

会话内存

会话管理的内存从MOT本地内存中获取。

所有活动会话(连接)的内存使用量可以通过以下查询。

  1. select * from mot_session_memory_detail();

结果如下。

  1. sessid | total_size | free_size | used_size
  2. ---------------------------------––––––-+-----------+----------+----------
  3. 1591175063.139755603855104 | 6291456 | 1800704 | 4490752

其中,

  • total_size:分配给会话的内存。
  • free_size:未使用的内存。
  • used_size:使用中的内存。

DBA可以通过以下查询确定当前会话使用的本地内存状态。

  1. select * from mot_session_memory_detail()
  2. where sessid = pg_current_sessionid();

结果如下。

MOT监控 - 图1