【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
observer cpu利用率高如何分析
【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
observer cpu利用率高如何分析
根据文档库中的信息,当遇到 OceanBase 数据库 CPU 利用率高的情况时,可以采取以下步骤进行分析和处理:
使用工具查看 CPU 使用情况:
top
命令实时查看 ODP 的 CPU 使用情况。如果 CPU 使用超过 OceanBase 数据库,其性能可能不正常,需进一步分析。可以通过 top -H
查看线程的 CPU 消耗,ODP 的线程消耗应该很平均。(参考文档:[工具查看的主要方法])使用 perf 命令进行深入分析:
perf top
查看热点函数,目前 ODP 无函数占用超过 5%。perf stat
查看硬件指标,在分析不同 CPU 时会有帮助。(参考文档:[工具查看的主要方法])检查日志生成速度:
监控和诊断租户性能:
分析 SQL 执行情况:
GV$OB_SQL_AUDIT
视图抓取信息进行分析,定位到问题 SQL。例如,可以查看 SQL 的平均耗时和 CPU 使用量。如果发现某条 SQL 的 CPU 使用量过高,可以进一步分析该 SQL 的执行计划(Explain 信息)以及相关表和视图的 DDL 定义,确定影响性能的原因。(参考文档:[某客户数据库系统发生性能故障])调整大查询参数:
large_query_threshold
来定义执行时间超过一定阈值的查询操作为大查询。如果系统中同时运行着大查询和小查询,OceanBase 数据库会将一部分 CPU 资源分配给大查询,并通过配置参数 large_query_worker_percentage
(默认值为 30%)来限制执行大查询最多可以使用的租户活跃工作线程数。确保 large_query_threshold
设置在一个合理的范围内,避免大查询抢占过多 CPU 资源。(参考文档:[配置参数 large_query_threshold])优化 DDL 和 SQL:
检查资源池配置:
使用 obdiag 收集诊断信息:
obdiag
收集诊断信息,以便更全面地分析问题。具体使用方法可以参考官方文档。(参考文档:[使用 obdiag 收集诊断信息])希望以上步骤能帮助您有效分析和处理 OceanBase 数据库 CPU 利用率高的问题。如果问题仍然存在,建议联系 OceanBase 的技术支持团队获取进一步的帮助。
检索到的文档如下: