转载于https://www.toudo.cn/article/8
前言
Java 语言是当前互联网应用最为广泛的语言,作为一名程序猿掌握 Java 服务线上问题排查思路并能够熟练排查问题常用工具/命令/平台是每一个 Java 程序猿进阶必须掌握的实战技能。
常见问题
总的来说线上问题可以分为两大类:系统异常、业务异常。系统异常不外乎,CPU、内存、磁盘、网络四个方面,例如常见问题CPU使用率峰值突然飙高、内存溢出、磁盘满了、网络流量异常、带宽满了等。
一般我们采用排除法、解决问题。当系统业务异常、首先我们想到的是查看业务日志。
问题定位
查看业务日志
常用的查看日志命令
tail -100f 文件名 动态查看日志文件最后100行
如果日志文件出现大量连接异常等日志记录、那么直接去排查链接异常问题即可。
切忌vim直接打开较大的日志文件,由于会直接载入到内存的
系统问题
如果业务日志正常、那么需要排查系统异常了
CPU占用情况分析
top 查看 CPU占用率
ps -ef | grep java 查看服务进程id
top -H p 进程id
(以下图片只是介绍怎么使用,实际CPU并不高)