linux 服务器线上问题故障排查

一 线上故障排查概述

1.1 概述

线上故障排查一般从cpu,磁盘,内存,网络这4个方面入手;

二  磁盘的排查

2.1 磁盘排查

1.使用 df -hl  命令来查看磁盘使用情况

2.从读写性能排查:iostat -d -k -x命令来进行分析

linux 服务器线上问题故障排查_第1张图片

最后一列%util可以看到每块磁盘写入的程度,而rrqpm/s以及wrqm/s分别表示读写速度,一般就能帮助定位到具体哪块磁盘出现问题了。

3.iotop命令来进行定位文件读写的来源

输入:iotop ,显示如下:

linux 服务器线上问题故障排查_第2张图片

3.1 这里的第1列为tid,需要转换成pid,使用命令:readlink -f /proc/*/task/tid/../..

3.2 这里看到查找到的pid为1681.找到pid后,使用 cat /proc/pid/io  就可以看这个进程具体的读写情况。

linux 服务器线上问题故障排查_第3张图片

3.3  使用命令lsof,lsof -p pid 来确定具体的文件读写情况 

linux 服务器线上问题故障排查_第4张图片

三  cpu的排查 

3.1. cpu的排查

1.使用ps命令或者top命令找到具体的使用较高的进程号

linux 服务器线上问题故障排查_第5张图片

2.用top -H -p pid来找到cpu使用率比较高的一些线程;执行top -H -p pid,这个命令就能显示刚刚找到的进程的所有线程的资源消耗情况。比如:找到CPU负载高的线程的pid 8627, 把这个数字转换成16进制,21B3(10进制转16进制,用linux命令: printf %x 8627

linux 服务器线上问题故障排查_第6张图片

2.1 使用命令  printf '%x\n' pid 得到nid ,pid的16进制号为nid

你可能感兴趣的:(linux常用命令,运维)