线上CPU飙升100%问题排查
2024-10-25
NEW个对象
线上CPU飙升100%问题排查?
1、查看cpu的使用情况
top命令,找到使用cpu使用最高的线程
2、实用工具Arthas
启用工具,使用Arthas命令"thread -n 3 -i 1000"查看当前"最忙"(耗CPU)的三个线程。
3、分析输出情况,找到代码对应的位置
4、分析代码是否问题。
造成cpu飙升的常见原因:
1、死锁
2、频繁的full gc
3、死循环
4、第三方bug
5、服务器配置太差
6、等等
----------------------------------------------------------
定位导致cpu过高的位置,还可以通过jstack命令:
1、top命令,找到使用cpu使用最高的进程pid
2、top -Hp 进程pid。获取进程里那个线程占用cpu最高。
2、将线程pid,转换为16进制。
3、jstack 命令,输入日志。
《jstack 进程pid | grep -a 200 线程pid的十六进制》
4、根据日志,找到代码位置。
5、分析代码的问题。
下一篇:OOM问题排查过程?
相关文章
-
Kafka怎么保证消息只消费一次?
在分布式系统中,消息队列承担着系统解耦、流量削峰、异步处理等重要职责。Kafka作为目前最主流的消息中间件之一,被广泛应用于日志采集、订单系统、支付系统、大数据平台等场景。
NEW个对象 2026-06-11
-
Dubbo 一次 RPC 请求执行流程
Dubbo 一次 RPC 请求执行流程
NEW个对象 2026-06-24
-
什么是脏读、幻读、不可重复读的?
脏读:读到其它事务没有提交的数据 不可重复读:能够读到其它事务已经提交的数据,在事务第二次读取数据的时候,前后不一致。 脏读:当一个事务insert数据之后,当前事务读取的条数不一致
NEW个对象 2025-01-10
NEW个对象
JAVA是世界上最好的语言