一、CPU使用率高的一般排查思路

1) top命令排查CPU使用率高的进程

2) su - omm切换到omm用户,jstack -l 进程pid>>文件路径

3) top -H -p 进程pid 查看CPU使用率高

4) “printf "%x\n" 线程号”将上一步中CPU高的线程号转换成16进制

5) 在jstack文件中搜索上一步中的16进制信息查看具体的线程

二、 Kafka CPU使用率高的常见原因及解决方案

1.     集群规划不合理

a)    命令grep -c processor /proc/cpuinfo 查看CPU核数,df -h命令查看Kafka磁盘挂载情况,建议每台机器最大挂盘数量 <= processor / 2。挂载过多磁盘也可能导致CPU繁忙。

b)    Kafka配置中查看num.io.threads、num.network.threads、num.replica.fetchers配置,num.io.threads和num.network.threads配置一般建议磁盘个数的倍数,但不能超过CPU核数。num.replica.fetchers配置一般建议不超过5,同步线程数过多也会造成CPU繁忙。

c)    分区设置不合理:分区一般设置为节点个数的倍数,如果分区设置不合理,所有的生产和消费都集中在某个节点上,也可能导致CPU高。

2.     操作系统句柄数过高

a)    查看操作系统句柄数:cat /var/log/osinfo/statistics/file-nr.txt

b)    统计各进程打开句柄数:lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr

c)    查看进程使用句柄数:lsof -p 进程pid | wc -l

如果句柄数高,排查使用句柄数高的进程是否有句柄泄漏;排查操作系统日志,查看是否存在TCP内存溢出等。

3.     根据CPU使用率高的线程具体排查

a)    使用C++客户端,版本不兼容,kafka-request.log日志中大量获取全部topic元数据的信息:

Jstack信息中查找CPU高的线程,线程都在获取元数据信息:

Request日志开debug后,大量获取全部Topic元数据信息,且耗时很长。

CPU长时间频繁处理元数据请求导致CPU升高。

b)    使用Logstash版本过低,与Kafka高版本服务端不兼容:

Kafka服务端对部分topic加权限后,21005端口访问未加权限的topic,kafka-authorizer.log日志中大量请求Deny的日志

CPU频繁处理deny请求导致CPU异常升高。

c)    Sssd异常

使用id -Gn名称返回结果异常为sssd服务有问题

kafka-authorizer.log日志为大量打印某用户不属于kafka组或者kafkaadmin组

服务器的kafka无法正常鉴权,导致用户频繁访问此服务器,cpu异常升高

Kafka CPU使用率高排查思路及解决方案相关推荐

  1. Java进程CPU使用率高排查

    1.使用top 定位到占用CPU高的进程PID top 通过ps aux | grep PID命令 2.获取线程信息,并找到占用CPU高的线程 ps -mp pid -o THREAD,tid,tim ...

  2. Java代码-CPU占用过高排查思路

    Java代码-CPU占用过高排查思路: 1.top 查看占用cpu过高的进程PID 2.top -Hbp 32048|awk '/java/ && $9>50'  查看进程中占用 ...

  3. java事务占用内存吗,如何排查java应用中CPU使用率高或内存占用高的问题

    如何排查java应用中CPU使用率高或内存占用高的问题?这类问题的排查步骤基本通用的.现在通过一个具体的例子来说明. 问题描述 最近有个线上项目每天0点过后CPU使用率会上升至200%到300%. 排 ...

  4. 排查mysql CPU使用率高

    最近发现mysql CPU使用率高,将排查步骤记录一下 一.top命令 找到PID为24319 二.vmstat 1 查看一下CPU使用率 三.pidstat -u 查看一下CPU使用率 ​四.pid ...

  5. JVM系列-CPU使用率高问题排查方法

    引言 Java程序在实际生产过程中经常遇到CPU使用率高的问题,那么应该如何排查问题的原因呢,本文大概描述一下排查方法. 一.排查占用CPU的进程 使用top命令,在大写打开的情况下按P键或者在大写没 ...

  6. mc服务器java占用过大_如何排查java应用中CPU使用率高或内存占用高的问题

    点击上方"Java知音",选择"置顶公众号" 技术文章第一时间送达! 作者:MnameHZJ my.oschina.net/u/1420452/blog/224 ...

  7. mysql利用cpu率高_MySQL CPU 使用率高的原因和解决方法

    用户在使用 MySQL 实例时,会遇到 CPU 使用率过高甚至达到 100% 的情况.本文将介绍造成该状况的常见原因以及解决方法,并通过 CPU 使用率为 100% 的典型场景,来分析引起该状况的原因 ...

  8. mysql cpu 高 原因 汇总_MySQL CPU 使用率高的原因和解决方法(来自aliyun官方文档)

    用户在使用 MySQL 实例时,会遇到 CPU 使用率过高甚至达到 100% 的情况.本文将介绍造成该状况的常见原因以及解决方法,并通过 CPU 使用率为 100% 的典型场景,来分析引起该状况的原因 ...

  9. MySQL CPU 使用率高的原因和解决方法(来自aliyun官方文档)

    MySQL CPU 使用率高的原因和解决方法 更新时间:2017-03-17 13:25:52   分享: 用户在使用 MySQL 实例时,会遇到 CPU 使用率过高甚至达到 100% 的情况.本文将 ...

最新文章

  1. tftp c++ 上传_如何在 Fedora 上建立一个 TFTP 服务器
  2. JDBC批量操作性能提升
  3. TreeView 实现单选与多选!
  4. 计算机应用基础18春在线作业1答案,东师计算机应用基础-18春在线作业1.docx
  5. 【CodeForces - 616D 】Longest k-Good Segment (twopointer,尺取)
  6. python中list是什么类型_Python中的list数据类型
  7. 使用ab进行页面的压力测试
  8. 订阅者java,RxJava:“ java.lang.IllegalStateException:只允许一个订阅者!”
  9. 9.3、Libgdx手势检测
  10. github网页链接
  11. 顶尖黑客集结令 | GeekPwn2018上海站邀你“决战AI安全”
  12. 孙鑫-MFC笔记九--菜单编程
  13. 阿里云毕龙飞:五个维度推进企业生产关系数字化
  14. 自动控制原理知识点梳理——整体框架
  15. 如何在WPS里添加字体?
  16. 问题——nvm use 出现exit status 1:乱码
  17. HDU 1567(2006)
  18. 网络流量分析与Android逆向小结
  19. linux系统安装MySQL数据库安装保姆级教程及1045错误和2058问题解决
  20. windows上安装并使用exiftool修改图像exif信息

热门文章

  1. linux密码安全加固技术-CKEY动态密码技术【顶】
  2. ​微信公众号素材图片去哪找?
  3. python代码调试工具_我猜你需要这个Python调试工具
  4. requests框架详解
  5. 微信罕见出手,再造一个万能的电商平台!
  6. python requests返回结果带\\u的解决方法
  7. LeetCode摆动序列
  8. 环球好货VIP会员首次建群的方法及话术
  9. 哪种蓝牙耳机适合运动、最适合运动的蓝牙耳机推荐
  10. 汇编——从一道题目浅谈分支结构