...大约 3 分钟
...大约 81 分钟
...大约 93 分钟
...大约 48 分钟
...小于 1 分钟
...大约 18 分钟
...大约 87 分钟
...大约 76 分钟
学习核心
- 内存泄漏问题排查
- GC引起CPU飙升问题排查(5个步骤一步步定位)
- 现场保留(瞬时信息和历史信息的记录保留,后续进行跟踪分析)
- 常用工具:jinfo、jstat、jstack、jhsdb(jmap)等工具,尤其是jmap(分析处理内存泄漏的利器)
- 一个卡顿实例分析(结合卡顿实例,掌握分析思路和实践过程)
- 高并发业务场景中启用swap造成的服务卡顿
- 内存泄漏 VS 内存溢出
- 区分内存泄漏(原因)和内存溢出(结果)概念
- 内存泄漏现象
- 内存泄漏案例(HashMap使用不当、文件操作资源未及时释放、JavaAPI使用不当、ThrealLocal使用误区)
...大约 58 分钟
案例:ThreadLocal使用不当,导致内存泄漏,进而触发OOM
1.场景分析
故障问题排查说明
针对CPU飙升问题,可按照相关步骤进行排查,如果确认是由于线程大量GC导致的CPU飙升问题,则可进一步进入GC问题排查
步骤 | 指令 | 说明 |
---|---|---|
1 | top |
查看占用cpu高的进程信息 |
2 | jstat -gcutil pid |
查看gc状况 |
3 | jmap -dump:format=b,file=name.dump pid |
导出dump文件 |
4 | visualVM 、MAT 工具分析 |
用visualVM分析dump文件 |
...大约 13 分钟