SELECT SVR_IP,SVR_PORT ,sum(VALUE)/1024/1024/1024 FROM gv$sysstat WHERE NAME=‘observer memory used size’ group by SVR_IP,SVR_PORT;
疑问gv$sysstat 好像不包含 500的租户,请问该怎么准确的查看 某个observer正在使用的内存的总和呢?
SELECT SVR_IP,SVR_PORT ,sum(VALUE)/1024/1024/1024 FROM gv$sysstat WHERE NAME=‘observer memory used size’ group by SVR_IP,SVR_PORT;
疑问gv$sysstat 好像不包含 500的租户,请问该怎么准确的查看 某个observer正在使用的内存的总和呢?
根据文档库中的信息,gv$sysstat
视图确实可以用来查看指定机器的内存占用情况,但您提到的问题是该视图似乎不包含租户 ID 为 500 的租户的信息。这可能是因为 gv$sysstat
主要展示的是 OBServer 节点级别的统计信息,而不是针对每个租户的详细内存使用情况。
为了准确查看某个 observer 正在使用的内存总和,您可以结合以下两种方法:
gv$sysstat
查看节点总内存您可以继续使用 gv$sysstat
视图来查询 observer 的总内存使用情况。确保查询条件正确,并且需要对结果进行单位转换(如从字节转换为 GB)。以下是您的 SQL 查询语句,它已经正确地计算了 observer 的内存使用总和:
SELECT SVR_IP, SVR_PORT, SUM(VALUE)/1024/1024/1024 AS USED_MEMORY_GB
FROM gv$sysstat
WHERE NAME = 'observer memory used size'
GROUP BY SVR_IP, SVR_PORT;
依据的文档名称及段落标题:
GV$OB_TENANT_MEMORY
查看租户内存使用情况如果您希望更精确地了解某个租户(例如租户 ID 为 500)的内存使用情况,可以使用 GV$OB_TENANT_MEMORY
视图。此视图提供了各个租户的内存使用总量。以下是查询示例:
SELECT tenant_id, SUM(hold)/1024/1024/1024 AS HOLD_MEMORY_GB
FROM oceanbase.GV$OB_TENANT_MEMORY
WHERE svr_ip = 'xx.xx.xx.xx' AND svr_port = 2882
GROUP BY tenant_id;
依据的文档名称及段落标题:
gv$sysstat
。GV$OB_TENANT_MEMORY
。enable_perf_event
的值设置为 True
。希望以上信息能够帮助您准确查看 observer 的内存使用情况!
具体信息可参考以下文档: