线上常见问题案例及排查工具

目录

问题背景:

问题摘要:

CPU 利用率高:

OOM/内存泄露:

GC 问题,其实也就是内存泄漏导致内存被占满,无法分配内存导致JVM触发GC:

MySQL死锁问题:

慢SQL、慢查询

消息队列消息积压

分布式锁使⽤不当导致超卖:

缓存雪崩,缓存穿透、缓存击穿,热key,大key

缓存一致性问题

事务问题

消息中间件应用的常见问题与方案

详细参考:




问题背景:

你在做这个项⽬的时候遇到了什么问题?( OOM 问题、 GC 问题等等)
你⽤过哪些分析定位 Java 故障 / 性能的⼯具?( JDK ⾃带⼯具、 MAT Arthas 等等)
如果项⽬遇到了 OOM 问题,你会如何排查?(常⽤ MAT
有什么办法可以监控到 JVM 的实时运⾏状态?( Arthas
⽣产环境有⼀个接⼝很慢,如何排查?(Arthas、Cat、 Pinpoint、Skyworking
CPU100% ,你是怎么处理的?( jstack 或者 Arthas
你是如何定位线上问题的?(说说⾃⼰了解的⼯具,然后根据⾯试官提示继续深⼊聊即
可)
项⽬中遇到了哪些线上故障,你是如何解决的?

问题摘要:

  • CPU 利用率高:

1、找到最耗CPU的进程(top -c),找到最耗CPU的线程(top -Hp 进程ID),jstack查看最耗CPU的堆栈信息(jstack 10765 | grep '0x2a34' -C5 --color)
2.、 阿⾥开源的全能的故障诊断⼯具 Arthas
dashboard 命令查看 TOP N 线程, thread 命令查看堆栈信息。
内部集成的⽕焰图⼯具 async-profiler
  • OOM/内存泄露:

1. JDK ⾃带的 VisualVM :使⽤ jmap 命令⽣成堆转储快照也就是 dump ⽂件,然后通过
VisualVM 分析 dump ⽂件。
2. MAT (Memory Analyzer Tool) MAT 也可以分析 dump ⽂件。
  • GC 问题,其实也就是内存泄漏导致内存被占满,无法分配内存导致JVM触发GC:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值