首页 > 项目 > 当前页面

线上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、分析代码的问题。

相关文章

  • Kafka怎么保证消息只消费一次?

    在分布式系统中,消息队列承担着系统解耦、流量削峰、异步处理等重要职责。Kafka作为目前最主流的消息中间件之一,被广泛应用于日志采集、订单系统、支付系统、大数据平台等场景。

    NEW个对象 2026-06-11

  • Dubbo 一次 RPC 请求执行流程

    Dubbo 一次 RPC 请求执行流程

    NEW个对象 2026-06-24

  • 什么是脏读、幻读、不可重复读的?

    脏读:读到其它事务没有提交的数据 不可重复读:能够读到其它事务已经提交的数据,在事务第二次读取数据的时候,前后不一致。 脏读:当一个事务insert数据之后,当前事务读取的条数不一致

    NEW个对象 2025-01-10

NEW个对象 NEW个对象
JAVA是世界上最好的语言