GaussDB(DWS)集群中寻找节点CPU占用高的语句

2023-06-0817:14:53数据库教程Comments708 views字数 648阅读模式

【工具名称】

gs_cpuwatcher文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46042.html

【功能描述】

1.寻找集群内节点占用CPU高的语句文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46042.html

【使用场景】

  1. CPU sys使用率高
  2. 业务整体慢

【参数说明】

文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46042.html

【使用方法】

  1. 直接后台执行命令

nohup sh gs_cpuwatcher.sh > cpuwatcher.log 2>&1 &文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46042.html

执行之前注意事项:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46042.html

  • 使用omm用户(线下)或者Ruby用户(线上)执行
  • 将脚本放到一个磁盘空间充足的目录执行,防止把磁盘空间占满,脚本监控会产生日志,占用磁盘空间,磁盘空间最好大于20G
  • 监控完之后kill这个监控进程,防止忘记这个脚本造成监控日志一直上涨,脚本默认保留3天的日志
  • 脚本只有在进程的cpu使用率大于100(多核累加和)的时候才会进行查询cpu高的语句
GaussDB(DWS)集群中寻找节点CPU占用高的语句

【最佳实践&结果分析】

执行监控命令之后,检查当前目录生成的监控日志文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46042.html

GaussDB(DWS)集群中寻找节点CPU占用高的语句

查看日志cpu_watch_xxx.log日志,里边有记录占用CPU高的语句文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46042.html

GaussDB(DWS)集群中寻找节点CPU占用高的语句

日志里边记录了cpu占用高的语句,例如上图中select * from pg_class a, pg_class,脚本默认截取sql的前50个字符,可以对截取字符串进行修改,需要修改脚本文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46042.html

GaussDB(DWS)集群中寻找节点CPU占用高的语句

字段解释:

  1. dur :执行时长
  2. start:sql的起始时间
  3. state_change:sql状态改变时间
  4. usename:用户名称
  5. datname:连的数据库名称
  6. query_id:sql的唯一标识id
  7. pid:线程id
  8. client_addr:客户端连的ip
  9. state:sql的执行状态
  10. lwtid:线程小号
  11. wait_status:等待视图中的等待状态字段
  12. substr:sql字段
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/46042.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/sjk/46042.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定