observer进程CPU占用1000%

【 使用环境 】生产环境
【 OB or 其他组件 】observer
【 使用版本 】4.5.0.0
【问题描述】observer cpu 占用高
【复现路径】
【附件及日志】obdiag gather scene run --scene=observer.cpu_high

@论坛小助手
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

5 个赞

根据您的描述,OceanBase 遇到了CPU使用过高的问题。您已经采取了非常正确的第一步措施,即使用 obdiag 收集相关数据,这有助于我们深入分析根本原因。在您提供的gv$ob_sql_audit表信息的基础上,我们还可以进一步利用 obdiag 进行更详细的诊断。以下是我的建议:

根因分析场景: CPU高
根因分析命令: 目前直接针对CPU高没有特定的RCA(Root Cause Analysis)命令,但可以先从收集到的日志入手分析。

日志采集场景: CPU高
日志采集命令: obdiag gather scene run --scene=observer.cpu_high
这条命令将帮助收集与CPU使用率相关的更多信息,如系统活动、进程状态等,以便更好地定位导致CPU占用异常的原因。

既然您已经完成了部分数据的收集,请按照上述日志采集命令操作后提供新的日志压缩包。如果您已经执行了这个命令并获得了文件,请上传这些文件给我们,这样可以帮助进行下一步的具体分析。

为了进一步缩小问题范围,还请您补充以下几项信息:

  1. 在CPU飙升期间,是否有明显的SQL负载增加?如果有,请尽量提供这些SQL语句及其执行计划。
  2. 该Observer节点是否为集群中的所有租户共享?如果是,请确认是否有特定租户或用户报告了性能下降。
  3. 最近是否有对数据库配置做出调整或者升级软件版本?
  4. 观察到的CPU利用率高峰时段,系统是否存在其他异常情况,例如磁盘I/O繁忙或网络延迟升高?
  5. 是否有开启OceanBase的慢查询日志记录功能?如果有,能否分享一下近期的慢查询日志?

基于以上信息,我们将能够更精确地判断问题所在,并提出相应的解决方案。感谢您的配合!

附上敏捷诊断工具 obdiag 使用帮助链接

3 个赞

有ocp么 可以通过ocp查看一下top sql信息 按照cpu占比排一下序

集群控制台-性能监控-主机性能, 点击监控下钻 可以看到每个 OBServer的 CPU 使用率。

3 个赞

2 个赞

从下转分析的结果cpu使用率来看 并不高呀 从linux负载来看 有点高 你们物理服务器是多少核呀

2 个赞

32核

2 个赞

从cpu的使用率来看 cpu没有耗尽 现在使用有什么问题么?你从那里看到的cpu占比1000% 截图看看

通过ocp查看一下top sql信息 按照cpu占比排一下序

3 个赞

image
image

3 个赞

32核的话 主机的负载看着也是可以 从ocp的监控 租户下cpu使用率来看 也没有耗尽 可以观察观察ocp上的租户下的cpu使用率 如果不超过95% 应该没有啥问题

2 个赞

学到了。

1 个赞

top 显示 observer CPU 达到 1000%,对应多核多线程正常满负载,只要租户 CPU 使用率低于 95%,业务无影响就无需处理。