更新时间:2022-08-16 GMT+08:00
用户资源查询
背景信息
在多租户管理的框架下,用户可以实时查询所有用户资源(包括内存,CPU核数,存储空间、临时空间、算子落盘空间和IO)实时使用情况,也可以查询用户资源的历史使用情况。
- 用户实时资源相关视图/函数为:PG_TOTAL_USER_RESOURCE_INFO、GS_WLM_USER_RESOURCE_INFO;用户历史资源相关表为:GS_WLM_USER_RESOURCE_HISTORY。
- 上述视图、表中,used_cpu数值表示该用户对应资源池的CPU使用情况,且资源池仅记录长查询的CPU资源消耗。
- 上述视图、表中,IO相关资源统计值仅会统计用户所执行长查询的IO读写数据。
- 当用户数量较多,集群规模较大时,查询此类实时视图,因CN/DN间实时通信开销,会有一定的网络延时。
- 用户内存、CPU监控不监控短查询,不监控管理员用户作业。
操作步骤
- 查询所有用户的资源限额和资源实时使用情况。
1
SELECT * FROM PG_TOTAL_USER_RESOURCE_INFO;
得到的结果视图如下:
username | used_memory | total_memory | used_cpu | total_cpu | used_space | total_space | used_temp_space | total_temp_space | used_spill_space | total_spill_space | read_kbytes | write_kbytes | read_counts | write_counts | read_speed | write_speed -----------------------+-------------+--------------+----------+-----------+------------+-------------+-----------------+------------------+------------------+-------------------+-------------+--------------+-------------+--------------+------------+------------- perfadm | 0 | 17250 | 0 | 0 | 0 | -1 | 0 | -1 | 0 | -1 | 0 | 0 | 0 | 0 | 0 | 0 usern | 0 | 17250 | 0 | 48 | 0 | -1 | 0 | -1 | 0 | -1 | 0 | 0 | 0 | 0 | 0 | 0 userg | 34 | 15525 | 23.53 | 48 | 0 | -1 | 0 | -1 | 814955731 | -1 | 6111952 | 1145864 | 763994 | 143233 | 42678 | 8001 userg1 | 34 | 13972 | 23.53 | 48 | 0 | -1 | 0 | -1 | 814972419 | -1 | 6111952 | 1145864 | 763994 | 143233 | 42710 | 8007 (4 rows)
其中,IO资源监控字段(read_kbytes、write_kbytes、read_counts、write_counts、read_speed和write_speed)需要在GUC参数enable_user_metric_persistent开启时才有监控数据。
所查各字段说明详见PG_TOTAL_USER_RESOURCE_INFO 。
- 查询具体某个用户的资源限额和资源实时使用情况。
1
SELECT * FROM GS_WLM_USER_RESOURCE_INFO('username');
查询结果如下:
userid | used_memory | total_memory | used_cpu | total_cpu | used_space | total_space | used_temp_space | total_temp_space | used_spill_space | total_spill_space | read_kbytes | write_kbytes | read_counts | write_counts | read_speed | write_speed --------+-------------+--------------+----------+-----------+------------+-------------+-----------------+------------------+------------------+-------------------+-------------+--------------+-------------+--------------+------------+------------- 16407 | 18 | 1655 | 6 | 19 | 13787176 | -1 | 0 | -1 | 0 | -1 | 0 | 0 | 0 | 0 | 0 | 0 (1 row)
- 查询所有用户的资源限额和资源历史使用情况。
1
SELECT * FROM GS_WLM_USER_RESOURCE_HISTORY;
查询结果如下:
username | timestamp | used_memory | total_memory | used_cpu | total_cpu | used_space | total_space | used_temp_space | total_temp_space | used_spill_space | total_spill_space | read_kbytes | write_kbytes | read_counts | write_counts | read_speed | write_speed -----------------------+-------------------------------+-------------+--------------+----------+-----------+------------+-------------+-----------------+------------------+------------------+-------------------+-------------+--------------+-------------+--------------+-------------+------------- usern | 2020-01-08 22:56:06.456855+08 | 0 | 17250 | 0 | 48 | 0 | -1 | 0 | -1 | 88349078 | -1 | 45680 | 34 | 5710 | 8 | 320 | 0 userg | 2020-01-08 22:56:06.458659+08 | 0 | 15525 | 33.48 | 48 | 0 | -1 | 0 | -1 | 110169581 | -1 | 17648 | 23 | 2206 | 5 | 123 | 0 userg1 | 2020-01-08 22:56:06.460252+08 | 0 | 13972 | 33.48 | 48 | 0 | -1 | 0 | -1 | 136106277 | -1 | 17648 | 23 | 2206 | 5 | 123 | 0
对于系统表GS_WLM_USER_RESOURCE_HISTORY,仅当GUC参数enable_user_metric_persistent开启时,才会定期将视图PG_TOTAL_USER_RESOURCE_INFO中的数据保存到历史表中。
所查各字段说明详见GS_WLM_USER_RESOURCE_HISTORY。
- 查询具体某个用户的IO管控资源实时使用情况(视图中的数值并非表示IO读写实际值,而是代表相应的IO管控资源使用情况)。
1
SELECT * FROM pg_user_iostat('username');
查询结果如下:
userid | min_curr_iops | max_curr_iops | min_peak_iops | max_peak_iops | io_limits | io_priority -------+---------------+---------------+---------------+---------------+-----------+------------- 10 | 0 | 0 | 0 | 0 | 0 | None (1 row)
父主题: 资源监控