简介
本文介绍如何排查Java的系统问题。包括:如何得知系统出问题了,排查步骤简述,CPU、内存、磁盘、网络、垃圾回收、死锁的详细排查步骤。
如果线上出了问题,首先判断是业务问题还是整个系统的问题。如果是业务问题,就去看应用的日志等进行排查。如果出现了如下问题,就可能是整个系统的问题
- 大量接口都很慢
- 页面打不开
系统问题排查简介
如何得知系统出问题了?
系统出问题时,我们需要进行详细排查,一般情况下,有以下场景我们可以得知线上出问题了:
- 用户反馈功能不能正常使用
- 监控系统的邮件或者短信提醒
系统问题排查步骤
以下按顺序进行
- 是否CPU占用过高
- 是否内存占用过高
- 是否磁盘占用过高
- 是否网络故障
- 查看后台日志
- 是否是数据库问题(比如:索引失效、死锁)
- 是否是垃圾回收导致
- 是否死锁等
CPU占用过高
什么场景需要排查CPU占用?
- 访问接口的响应速度很慢。
- 系统崩溃无响应
- 压测时要查看CPU、内存、load、rt、qps等指标
步骤简述
- 定位进程 (命令:top)
- 定位线程 (命令:top -Hp 进程号)
- 定位代码位置 (命令:jstack)
排查方法详述
此内容仅限VIP查看,请先登录
请先
!