服务器CPU飙升问题解决过程

本文记录了一次因大量数据转发导致CPU异常飙升的问题排查过程。从代码审查到资源监控,再到压测验证,最终定位到定时任务及Kafka消息堆积引发的CPU异常。通过调整topic分区和增加节点,成功解决了生产环境的性能瓶颈。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题出现前的提要:

1、项目需求:将大量数据通过kafka消息队列转发到另外的项目中

2、项目打完版本后,3点开始cpu开始飙升

报错信息

解决问题方式

1、重启服务器  关闭大量数据的转发,暂时解决问题。

2、开始分析问题

(1)检查代码:查看有没有死锁或者有没有占用大量CPU的代码,检查结果没有发现代码问题,排除问题

(2)通过zabbix 观察cpu和内存的异常过程,通过观察发现cpu在3点钟的时候开始大量飙升。再通过kibana查询当时日志情况。

(3)通过以上的检查没有发现什么特殊异常,只是知道我们3点钟打完版本cpu开始飙升,所以我们这边决定在测试环境进行压测,但是压测结果是没有问题,

(4)为了不影响线上环境,我们决定使用不同topic接收当前的数据,并且在线上开另外两个节点来接收这个数据,并且时时观察当前项目的cpu使用率和 通过kafka manager查看消费信息。(缺点生产环境出现好多多余的topic 影响kafka性能   kafka topic 64到256 吞吐量下降百分之90%多 因为没个topic 或者 分区都对应一个物理文件,文件太多会造成io磁盘竞争过大成为瓶颈 ,序所以需要运维删除多余topic)。

(5)将war部署到新的节点上,开始观察项目cpu、内存信息、kafka消费信息,发现cpu和内存信息都没有问题,只是启动项目的时候有点小上升,并且发现kafka信息开始堆积, 所以这边先将topic分区 分成8个区 因为机器是4台 要为倍数关系最好。分析cpu异常是不是跟时间有关,我观察最近几天zabbix发现半夜3点的时候cpu 都会上升,所以分析应该是3点的时候有定时任务启动导致cpu上升,正好当时我们这边重启项目cpu 也会上升 所以导致项目cpu暴涨导致机器奔溃,

分析结果

导致原因:猜测定时任务导致cpu升高 再加上kafka消息大量堆积和项目重启导致的cpu升高 。

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值