Code前端首页关于Code前端联系我们

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

terry 2年前 (2023-09-26) 阅读数 92 #后端开发

【工具名称】

gs_cpuwatcher

【功能描述】

1.查找集群内节点CPU占用率高的语句

【使用场景】

  1. CPU系统占用率高
  2. 一般业务较慢

【参数说明】

无[无]

  1. 后台直接运行命令

nohup sh gs_cpuwatcher.sh > cpuwatcher.log 2>&1 &

运行前注意事项:

  • 使用omm用户(离线)或用户omm(离线)运行
  • 放置该脚本位于具有足够磁盘空间的目录中以防止执行。当磁盘空间满时,脚本监控会生成日志并占用磁盘空间。磁盘空间要大于20G
  • 监控结束后杀掉监控进程,避免忘记脚本导致监控日志不断增加。脚本默认保留日志3天
  • 当进程CPU使用率大于100(多核累计和)时,脚本才会查询高CPU语句
GaussDB(DWS)集群中寻找节点CPU占用高的语句

【最佳实践及结果分析】

执行watch命令后,查看当前目录生成Watch Log GaussDB(DWS)集群中寻找节点CPU占用高的语句

查看日志cpu_watch_xxx.log。有些语句记录了高 CPU 使用率。 GaussDB(DWS)集群中寻找节点CPU占用高的语句

日志记录CPU占用率高的语句。例如,在上图中,select * from pg_class a, pg_class。该脚本默认拦截sql。中的前50个字符,可以更改截取的字符串,需要更改脚本 GaussDB(DWS)集群中寻找节点CPU占用高的语句

字段解释:

  1. dur:执行时间
  2. start:sql启动时间
  3. state_change status:state_change username:用户名
  4. datname:连接的数据库名称
  5. query_id:sql的唯一标识id
  6. pid:线程id
  7. client_addr:客户端连接ip♾s执行slwtid:线程小号
  8. wait_status:等待视图中的等待状态字段
  9. substr:sql 字段

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门