简介: 有哪些常见的线上故障?如何快速定位问题?本文详细总结工作中的经验,从服务器、Java应用、数据库、Redis、网络和业务六个层面分享线上故障排查的思路和技巧。较长,同学们可收藏后再看。

image.png

前言

线上定位问题时,主要靠监控和日志。一旦超出监控的范围,则排查思路很重要,按照流程化的思路来定位问题,能够让我们在定位问题时从容、淡定,快速的定位到线上的问题。

线上问题定位思维导图

一 服务器层面

1.1 磁盘

1.1.1 问题现象

当磁盘容量不足的时候,应用时常会抛出如下的异常信息:

java.io.IOException: 磁盘空间不足

或是类似如下告警信息:
image.png

1.1.2 排查思路

1.1.2.1 利用 df 查询磁盘状态

利用以下指令获取磁盘状态:
df -h

结果是:
image.png

可知 / 路径下占用量最大。

1.1.2.2 利用 du 查看文件夹大小
利用以下指令获取目录下文件夹大小:

du -sh *

结果是:

image.png

可知root文件夹占用空间最大,然后层层递推找到对应的最大的一个或数个文件夹。

1.1.2.3 利用 ls 查看文件大小

利用以下指令获取目录下文件夹大小:

ls -lh

结果是:

image.png

1.1.3 相关命令

1.1.3.1 df

主要是用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。

(1)常用参数

启动参数:

image.png

(2)结果参数

image.png

image.png

1.1.3.2 du

主要是为了显示目录或文件的大小。

(1)常用参数

启动参数:

image.png

(2)结果参数

image.png

1.1.3.3 ls

主要是用于显示指定工作目录下的内容的信息。

(1)常用参数

启动参数:

image.png

(2)结果参数

image.png

1.2 CPU过高

1.2.1 问题现象

当CPU过高的时候,接口性能会快速下降,同时监控也会开始报警。

1.2.2 排查思路

1.2.2.1 利用 top 查询CPU使用率最高的进程

利用以下指令获取系统CPU使用率信息:

top

结果是:

image.png

从而可以得知pid为14201的进程使用CPU最高。

1.2.3 相关命令

1.2.3.1 top

(1)常用参数
启动参数:
image.png

top进程内指令参数:

image.png

(2)结果参数

image.png

image.png

后续还有 tomcat,mysql,日志,业务的各种问题。

该篇文章转载自阿里云论坛

原文地址