一、快速定位总流程
#| 排查目标 | 首选命令 | 重点看什么 | 初步判断 |
|---|
| 系统是否整体繁忙 | uptime、top、vmstat 1 | load、CPU 使用率、run queue、I/O wait | 判断是 CPU 忙、I/O 慢、内存紧张还是进程阻塞 |
| CPU 是否瓶颈 | mpstat -P ALL 1 5、pidstat -u 1 5 | %usr、%sys、%iowait、%steal、单核是否打满 | 区分应用消耗、系统调用、I/O 等待、虚拟化抢占 |
| 哪个进程吃 CPU | top、ps、pidstat | PID、线程、CPU 占比 | 找到具体进程或线程 |
| I/O 是否瓶颈 | iostat -x 1 5、pidstat -d 1 5 | %util、await、r_await、w_await、队列长度 | 判断磁盘忙还是响应慢 |
| 哪个进程读写磁盘 | iotop、pidstat -d、lsof | 进程读写速率、文件路径 | 找到 I/O 来源 |
| 内存是否紧张 | free -h、vmstat 1、sar -r | available、swap、si/so、page fault | 判断是否缺内存或频繁换页 |
| 哪个进程占内存 | ps、top、pmap、smem | RSS、PSS、Swap | 找出大内存进程 |
| 网络是否异常 | ss、sar -n DEV,TCP,ETCP、ip -s link | 丢包、错误包、重传、连接状态 | 判断带宽、丢包、重传、连接堆积 |
| 抓包定位 | tcpdump | 源/目的 IP、端口、TCP flags、重传 | 深入分析网络链路或应用协议 |
二、常用工具安装
#| 系统类型 | 安装命令 | 包含工具 |
|---|
| RHEL / CentOS / Oracle Linux | yum install -y sysstat procps-ng iotop iftop nload tcpdump iproute net-tools lsof psmisc numactl | sar、iostat、mpstat、pidstat、top、vmstat、iotop、tcpdump、ss、lsof |
| Rocky / Alma / RHEL 8+ | dnf install -y sysstat procps-ng iotop iftop nload tcpdump iproute net-tools lsof psmisc numactl | 同上 |
| Ubuntu / Debian | apt install -y sysstat procps iotop iftop nload tcpdump iproute2 net-tools lsof psmisc numactl | 同上 |
| 启用 sysstat 历史采集 | systemctl enable --now sysstat | 启用 sar 历史性能数据采集 |
三、CPU 诊断命令
#3.1 CPU 总体诊断
#| 命令 | 用法示例 | 参数详解 | 重点字段 | 判断标准 |
|---|
uptime | uptime | 查看系统运行时间、用户数、load average | load average: 1min, 5min, 15min | load 持续大于 CPU 核数,说明系统有压力;如果 1 分钟高、15 分钟低,可能是短时峰值 |
lscpu | lscpu | 查看 CPU 架构、核数、线程数 | CPU(s)、Core(s)、Thread(s) | 判断 load 是否过高时,要先知道 CPU 逻辑核数 |
top | top | 实时查看 CPU、内存、进程 | %us、%sy、%wa、%id、load average | %us 高:应用消耗;%sy 高:内核消耗;%wa 高:I/O 等待;%id 低:CPU 忙 |
top -H | top -H -p <PID> | 查看某个进程下线程 CPU 使用情况 | 线程级 PID、%CPU | Java、Oracle、MySQL 等多线程进程定位热点线程非常有用 |
mpstat | mpstat -P ALL 1 5 | 每 1 秒采样一次,共 5 次;-P ALL 查看所有 CPU 核 | %usr、%sys、%iowait、%steal、%idle | 单核 100% 不代表整机 CPU 满;如果某几个核长期满,可能存在单线程瓶颈 |
vmstat | vmstat 1 10 | 每 1 秒采样一次,共 10 次 | r、b、us、sy、id、wa、cs、in | r 长期大于 CPU 核数,CPU 排队;wa 高说明 I/O 等待;cs 很高可能上下文切换严重 |
sar -u | sar -u 1 5 | 查看 CPU 使用率 | %user、%system、%iowait、%steal、%idle | 和 mpstat 类似,适合当前和历史对比 |
sar -q | sar -q 1 5 | 查看运行队列和 load | runq-sz、plist-sz、ldavg-1 | runq-sz 长期高于 CPU 核数,说明 CPU 排队明显 |
3.2 CPU 进程级定位
#| 命令 | 用法示例 | 参数详解 | 重点字段 | 判断标准 |
|---|
ps | ps -eo pid,ppid,user,comm,pcpu,pmem,stat,wchan:32,args --sort=-pcpu 竖线 head -20 | 按 CPU 使用率倒序查看进程 | PID、%CPU、STAT、WCHAN、COMMAND | |
pidstat -u | pidstat -u -p ALL 1 5 | 查看所有进程 CPU 使用情况 | %usr、%system、%CPU、CPU | 某进程 %CPU 长期高,需要继续分析该进程内部 |
pidstat -t | pidstat -u -t -p <PID> 1 5 | -t 查看线程级 CPU | TID、%CPU | 找具体热点线程 |
pidstat -w | pidstat -w -p ALL 1 5 | 查看上下文切换 | cswch/s、nvcswch/s | 自愿/非自愿上下文切换过高,可能锁竞争或线程过多 |
pidstat -R | pidstat -R -p ALL 1 5 | 查看实时优先级和调度策略 | prio、policy | 排查异常实时进程抢占 CPU |
perf top | perf top -p <PID> | 实时查看进程热点函数 | 函数名、模块、占比 | 适合内核/应用深度分析,生产环境慎用,注意开销 |
3.3 CPU 字段判断标准
#| 字段 | 含义 | 判断标准 |
|---|
%usr / %user | 用户态 CPU 消耗 | 长期高,通常是业务进程、SQL、应用计算消耗 |
%sys / %system | 内核态 CPU 消耗 | 长期高,可能是系统调用、网络包处理、文件系统、内核锁、驱动问题 |
%iowait / %wa | CPU 等待 I/O 的时间 | 长期高,通常不是 CPU 不够,而是磁盘、存储、NFS、数据库 I/O 慢 |
%idle | 空闲 CPU | 长期接近 0,CPU 基本打满 |
%steal | 虚拟化环境中被宿主机抢占的 CPU | 虚拟机中长期大于 5% 需要关注;大于 10% 往往明显影响性能 |
load average | 平均负载 | 持续大于 CPU 逻辑核数,说明系统存在排队;但 load 包含 D 状态 I/O 等待,不等同于 CPU 使用率 |
r | 运行队列长度 | vmstat 中 r 长期大于 CPU 核数,说明 CPU 排队 |
b | 不可中断睡眠进程数 | 长期大于 0,通常有 I/O、存储或内核等待 |
cs | 上下文切换次数 | 突然大幅升高,可能线程过多、锁竞争或频繁调度 |
in | 中断次数 | 网络或磁盘中断异常升高时,需要结合 mpstat -I、sar -n 继续看 |
四、I/O 诊断命令
#4.1 磁盘整体 I/O
#| 命令 | 用法示例 | 参数详解 | 重点字段 | 判断标准 |
|---|
iostat | iostat -x 1 5 | -x 扩展指标;每 1 秒采样一次,共 5 次 | %util、await、r_await、w_await、aqu-sz、r/s、w/s | 判断磁盘是否忙、响应是否慢 |
iostat -k | iostat -xk 1 5 | 以 KB 为单位显示吞吐 | rkB/s、wkB/s | 判断读写吞吐是否接近磁盘或存储上限 |
iostat -m | iostat -xm 1 5 | 以 MB 为单位显示吞吐 | rMB/s、wMB/s | 大吞吐场景更直观 |
sar -d | sar -d 1 5 | 查看块设备 I/O 当前或历史数据 | tps、rd_sec/s、wr_sec/s、await、%util | 适合看历史 I/O 趋势 |
vmstat | vmstat 1 10 | 查看系统级 I/O 和等待 | bi、bo、wa、b | wa 高、b 高,常见于磁盘或存储慢 |
lsblk | lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT,MODEL | 查看块设备、挂载点、磁盘型号 | 设备名、挂载点、类型 | 确认业务目录对应哪个磁盘 |
df | df -hT | 查看文件系统使用率和类型 | Use%、Type、Mounted on | 文件系统使用率超过 85% 需要关注,超过 90% 风险较高 |
du | du -sh /path/* 竖线 sort -h | 统计目录大小 | 目录容量 | |
4.2 进程级 I/O 定位
#| 命令 | 用法示例 | 参数详解 | 重点字段 | 判断标准 |
|---|
pidstat -d | pidstat -d -p ALL 1 5 | 查看所有进程磁盘读写 | kB_rd/s、kB_wr/s、kB_ccwr/s | 找出读写最重的进程 |
pidstat -d -p | pidstat -d -p <PID> 1 5 | 查看指定进程 I/O | 读写速率 | 判断某进程是否正在大量读写 |
iotop | iotop -oPa | -o 只显示有 I/O 的进程;-P 进程级;-a 累计值 | DISK READ、DISK WRITE、IO% | 直接找 I/O 消耗进程 |
lsof | lsof -p <PID> | 查看进程打开的文件 | 文件路径、FD 类型 | 找到进程正在访问哪些文件 |
lsof +D | lsof +D /data | 查看某目录被哪些进程打开 | PID、文件 | 目录无法卸载、文件被占用时使用 |
fuser | fuser -vm /data | 查看访问挂载点的进程 | PID、用户、访问类型 | 判断文件系统被哪些进程占用 |
dmesg | dmesg -T | egrep -i “error | fail | reset |
4.3 iostat 关键字段判断
#| 字段 | 含义 | 判断标准 |
|---|
r/s | 每秒读请求数 | 请求数高说明读 IOPS 压力大 |
w/s | 每秒写请求数 | 请求数高说明写 IOPS 压力大 |
rkB/s / rMB/s | 每秒读取吞吐 | 接近磁盘/存储带宽上限时,说明吞吐型瓶颈 |
wkB/s / wMB/s | 每秒写入吞吐 | 大量写入时关注日志盘、归档盘、数据盘 |
await | I/O 平均等待时间,包括排队和服务时间 | SSD 通常持续超过 10~20ms 要关注;HDD 持续超过 50ms 要关注;数据库核心盘越低越好 |
r_await | 读 I/O 平均等待时间 | 高说明读延迟大 |
w_await | 写 I/O 平均等待时间 | 高说明写延迟大,数据库 redo/归档/数据文件要重点看 |
aqu-sz | 平均 I/O 队列长度 | 长期偏高说明请求排队严重 |
%util | 设备繁忙度 | 单盘长期超过 80% 需要关注;长期接近 100% 基本表示设备饱和。但多队列 SSD、SAN、虚拟盘上 %util 不能单独作为唯一判断 |
svctm | 平均服务时间 | 新版本已不推荐依赖,主要看 await、r_await、w_await、队列和吞吐 |
五、内存诊断命令
#5.1 内存整体诊断
#| 命令 | 用法示例 | 参数详解 | 重点字段 | 判断标准 |
|---|
free | free -h | 人类可读方式显示内存 | total、used、free、buff/cache、available、swap | 重点看 available,不是单纯看 free |
free -m | free -m | MB 单位显示 | 同上 | 脚本采集更方便 |
vmstat | vmstat 1 10 | 查看内存、swap、I/O、CPU | free、buff、cache、si、so | si/so 持续大于 0,说明发生 swap 换入换出 |
sar -r | sar -r 1 5 | 查看内存使用情况 | %memused、kbmemfree、kbbuffers、kbcached、kbcommit | 适合看历史内存趋势 |
sar -W | sar -W 1 5 | 查看 swap 换页 | pswpin/s、pswpout/s | 持续有值说明系统正在换页,可能影响性能 |
sar -B | sar -B 1 5 | 查看分页情况 | pgpgin/s、pgpgout/s、pgfault/s、pgmajfault/s | pgmajfault/s 高说明大量主缺页,性能风险较高 |
/proc/meminfo | cat /proc/meminfo | 查看详细内存状态 | MemAvailable、Dirty、Writeback、Slab、SReclaimable、SUnreclaim | 深入判断 cache、slab、脏页 |
top | top 后按 M | 按内存使用排序 | RES、VIRT、SHR、%MEM | 找出大内存进程 |
dmesg | dmesg -T 竖线 egrep -i "out of memory 竖线 oom 竖线 killed process" | | | |
5.2 进程级内存定位
#| 命令 | 用法示例 | 参数详解 | 重点字段 | 判断标准 |
|---|
ps | ps -eo pid,ppid,user,comm,rss,vsz,pmem,args --sort=-rss 竖线 head -20 | 按 RSS 倒序查看进程 | RSS、VSZ、%MEM | |
top | top 后按 M | 按内存排序 | RES、VIRT、SHR | 找出占内存最高的进程 |
pmap | pmap -x <PID> 竖线 tail -20 | 查看进程内存映射 | Kbytes、RSS、Dirty | |
smem | smem -tk 竖线 sort -nr -k 5 竖线 head | 查看 PSS,更适合共享内存场景 | | |
numastat | numastat -p <PID> | 查看进程 NUMA 内存分布 | Node0、Node1 分布 | NUMA 不均衡可能导致性能下降 |
slabtop | slabtop | 查看内核 slab 使用 | cache name、object 数量、size | slab 异常大可能是 inode/dentry/socket 等内核对象堆积 |
5.3 内存字段判断标准
#| 字段 | 含义 | 判断标准 |
|---|
MemAvailable / available | 系统估算可用内存 | 比 free 更重要;低于总内存 10% 要关注,低于 5% 风险较高 |
free | 完全空闲内存 | Linux 会用空闲内存做 cache,所以 free 低不一定是问题 |
buff/cache | 文件缓存、块缓存 | 高通常正常,除非伴随 available 很低和 swap 活跃 |
Swap used | 已使用 swap | 使用了 swap 不一定有问题,关键看是否持续 si/so |
si | swap in,每秒从 swap 读入内存 | 持续大于 0,说明内存压力明显 |
so | swap out,每秒从内存写入 swap | 持续大于 0,说明内存不足或回收压力大 |
pgmajfault/s | 主缺页,需要磁盘 I/O | 持续高说明内存或文件缓存不足,性能会明显下降 |
Dirty | 脏页,等待写回磁盘 | 长期很高可能导致写回阻塞 |
Writeback | 正在写回磁盘的内存页 | 长期高说明磁盘写入压力大 |
Slab | 内核对象缓存 | 异常高要进一步用 slabtop 看 |
SUnreclaim | 不可回收 slab | 持续增长可能存在内核对象泄漏或连接/文件句柄堆积 |
RSS | 进程实际驻留物理内存 | 判断进程真实内存占用的常用指标 |
VSZ / VIRT | 进程虚拟地址空间 | 很大不一定代表真实占用大 |
PSS | 按比例分摊共享内存后的占用 | 多进程共享内存场景更准确 |
六、网络诊断命令
#6.1 网络接口与流量
#| 命令 | 用法示例 | 参数详解 | 重点字段 | 判断标准 |
|---|
ip addr | ip addr show | 查看 IP 地址 | IP、网卡状态 | 确认 IP 是否正确 |
ip link | ip link show | 查看网卡链路状态 | UP、LOWER_UP | 没有 LOWER_UP 可能物理链路异常 |
ip -s link | ip -s link show eth0 | 查看网卡收发包统计 | RX errors、dropped、overruns、TX errors | error/drop 持续增长,说明网卡、驱动、队列或链路异常 |
ethtool | ethtool eth0 | 查看网卡速率、双工、链路 | Speed、Duplex、Link detected | 速率不对、半双工、Link down 都是异常 |
ethtool -S | ethtool -S eth0 | 查看网卡详细统计 | driver counters | 丢包、重传、队列错误等需要关注 |
sar -n DEV | sar -n DEV 1 5 | 查看网卡吞吐 | rxkB/s、txkB/s、rxpck/s、txpck/s、%ifutil | %ifutil 高说明带宽接近瓶颈 |
nload | nload eth0 | 实时查看网卡流量 | Incoming、Outgoing | 直观看带宽使用 |
iftop | iftop -i eth0 | 查看主机之间实时流量 | 源 IP、目的 IP、速率 | 找出哪个 IP 占用带宽 |
nethogs | nethogs eth0 | 按进程查看网络流量 | PID、进程、流量 | 找出哪个进程占用网络 |
6.2 TCP 连接诊断
#| 命令 | 用法示例 | 参数详解 | 重点字段 | 判断标准 |
|---|
ss -s | ss -s | 查看 socket 汇总 | established、timewait、orphaned | 连接数异常增长要关注 |
ss -ant | ss -ant | 查看所有 TCP 连接 | State、Recv-Q、Send-Q、本地/远端地址 | Recv-Q 或 Send-Q 长期堆积说明应用处理慢或网络发送慢 |
ss -lntp | ss -lntp | 查看监听端口和进程 | LISTEN、端口、PID | 确认服务是否监听 |
ss -ant state established | ss -ant state established 竖线 wc -l | 统计 ESTABLISHED 连接数 | 连接数量 | |
ss -ant state time-wait | ss -ant state time-wait 竖线 wc -l | 统计 TIME_WAIT | TIME_WAIT 数量 | |
ss -antp | ss -antp 竖线 grep :1521 | 查看指定端口连接 | PID、连接状态 | |
netstat -s | `netstat -s | egrep -i “retrans | reset | listen |
nstat | `nstat -az | egrep -i “Retrans | Reset | Timeout |
6.3 网络连通性和链路质量
#| 命令 | 用法示例 | 参数详解 | 重点字段 | 判断标准 |
|---|
ping | ping -c 10 <IP> | 发送 10 个 ICMP 包 | packet loss、rtt min/avg/max | 丢包大于 1% 要关注;延迟抖动大说明链路不稳定 |
ping -s | ping -s 1472 -M do <IP> | 测试 MTU;-M do 禁止分片 | 是否能 ping 通 | 用于排查 MTU 问题 |
traceroute | traceroute <IP> | 查看路由路径 | 每跳延迟 | 定位中间链路问题 |
mtr | mtr -rwzc 100 <IP> | 连续探测路由质量 | Loss%、Avg、Best、Wrst、StDev | 哪一跳开始丢包或延迟升高,可能是问题位置 |
curl | curl -v http://<host>:<port>/ | 测试 HTTP 服务 | 连接、TLS、响应码、耗时 | 应用层访问验证 |
telnet | telnet <IP> <PORT> | 测试 TCP 端口连通性 | 是否 connected | 端口不通可能是防火墙、监听、路由问题 |
nc | nc -vz <IP> <PORT> | 测试 TCP 端口 | succeeded / failed | 比 telnet 更适合脚本化 |
6.4 抓包分析
#| 命令 | 用法示例 | 参数详解 | 适用场景 | 判断标准 |
|---|
tcpdump | tcpdump -i eth0 host 10.1.1.10 | 抓取与某 IP 相关的数据包 | 看某主机通信 | 判断是否有请求、是否有响应 |
tcpdump | tcpdump -i eth0 port 1521 | 抓取指定端口 | Oracle/MySQL/PostgreSQL 等端口排查 | 确认连接是否到达服务器 |
tcpdump | tcpdump -i eth0 -nn host 10.1.1.10 and port 1521 | -nn 不解析域名和端口名 | 精准抓包 | 避免 DNS 解析影响 |
tcpdump | tcpdump -i eth0 -nn -s 0 -w /tmp/net.pcap host 10.1.1.10 | -s 0 抓完整包;-w 写入文件 | 后续用 Wireshark 分析 | 适合复杂网络问题 |
tcpdump | tcpdump -i eth0 -nn 'tcp[tcpflags] & tcp-syn != 0' | 抓 SYN 包 | 判断连接发起情况 | 只有 SYN 无 SYN/ACK,服务端或链路可能异常 |
tcpdump | tcpdump -i eth0 -nn 'tcp[tcpflags] & tcp-rst != 0' | 抓 RST 包 | 排查连接被重置 | 大量 RST 说明连接被主动断开 |
6.5 网络判断标准
#| 指标 | 含义 | 判断标准 |
|---|
RX errors / TX errors | 收发错误包 | 正常应接近 0;持续增长要查网卡、交换机、线缆、驱动 |
RX dropped / TX dropped | 丢包 | 持续增长说明网卡队列、内核缓冲、应用处理或链路异常 |
rxkB/s / txkB/s | 网卡吞吐 | 接近网卡带宽上限时说明带宽瓶颈 |
%ifutil | 网卡利用率 | 持续超过 70% 要关注,超过 90% 容易出现排队和丢包 |
RetransSegs | TCP 重传 | 持续增长说明网络丢包、拥塞或对端处理慢 |
ListenOverflows | 监听队列溢出 | 有增长说明服务端 accept 慢或 backlog 太小 |
ListenDrops | 监听队列丢弃 | 有增长说明连接可能被内核丢弃 |
Recv-Q | 接收队列 | 长期不为 0,说明应用读取慢 |
Send-Q | 发送队列 | 长期不为 0,说明对端接收慢或网络发送阻塞 |
TIME_WAIT | 主动关闭连接后的等待状态 | 数量很大通常说明短连接多,不一定是故障,要结合端口耗尽、连接失败判断 |
CLOSE_WAIT | 本端未关闭连接 | 大量 CLOSE_WAIT 通常是应用没有正确关闭 socket |
SYN-SENT | 已发起连接等待响应 | 大量 SYN-SENT 可能是目标不可达、防火墙丢弃或对端未响应 |
SYN-RECV | 服务端收到 SYN,等待握手完成 | 大量 SYN-RECV 可能是半连接堆积、攻击或客户端异常 |
七、常见故障场景与命令组合
#| 故障现象 | 诊断命令组合 | 分析逻辑 |
|---|
| 系统卡顿但 CPU 不高 | vmstat 1、iostat -x 1、free -h、dmesg -T | 看是否 I/O wait 高、swap 活跃、磁盘 timeout |
| CPU 使用率很高 | top、mpstat -P ALL 1 5、pidstat -u -p ALL 1 5、ps --sort=-pcpu | 先看是用户态、系统态还是单进程打满 |
| load 很高但 CPU idle 也高 | vmstat 1、`ps -eo pid,stat,wchan,args | grep " D “、iostat -x 1` |
| 磁盘响应慢 | iostat -x 1 10、pidstat -d 1 10、iotop -oPa、dmesg -T | 先看哪个盘慢,再看哪个进程产生 I/O |
| 内存不足 | free -h、vmstat 1、sar -W 1 5、ps --sort=-rss、dmesg -T 竖线 grep -i oom | |
| 网络连接慢 | ping、mtr、ss -antp、sar -n TCP,ETCP 1 5、tcpdump | 看延迟、丢包、重传、连接队列 |
| 端口不通 | ss -lntp、nc -vz IP PORT、iptables -L -n、firewall-cmd --list-all、tcpdump | 看服务是否监听、防火墙是否拦截、包是否到达 |
| 网络丢包 | ip -s link、ethtool -S eth0、sar -n DEV,EDEV 1 5、mtr | 看本机网卡错误、驱动统计和链路丢包 |
| 数据库连接堆积 | `ss -antp | grep :1521、ss -s、sar -n TCP,ETCP 1 5` |
八、一套生产环境快速巡检命令
#echo "===== basic ====="
date
hostname
uptime
lscpu | egrep 'CPU\(s\)|Core|Thread|Socket|Model name'
echo "===== cpu ====="
top -b -n 1 | head -30
mpstat -P ALL 1 3
vmstat 1 5
pidstat -u -p ALL 1 3
echo "===== memory ====="
free -h
vmstat 1 5
cat /proc/meminfo | egrep 'MemTotal|MemFree|MemAvailable|Buffers|Cached|SwapTotal|SwapFree|Dirty|Writeback|Slab|SReclaimable|SUnreclaim'
ps -eo pid,ppid,user,comm,rss,vsz,pmem,args --sort=-rss | head -20
echo "===== io ====="
df -hT
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT,MODEL
iostat -x 1 5
pidstat -d -p ALL 1 3
dmesg -T | egrep -i 'error|fail|reset|timeout|blk|scsi|nvme|oom|killed process' | tail -100
echo "===== network ====="
ip addr show
ip -s link
ss -s
ss -antp | head -50
sar -n DEV,TCP,ETCP 1 3
九、推荐排查顺序
#| 步骤 | 操作 | 目的 |
|---|
| 1 | uptime、top、vmstat 1 | 先判断整体瓶颈方向 |
| 2 | CPU 高时用 mpstat、pidstat、ps | 找 CPU 类型和具体进程 |
| 3 | I/O 高时用 iostat、pidstat -d、iotop | 找慢盘和 I/O 来源 |
| 4 | 内存紧张时用 free、vmstat、ps、pmap | 判断是否内存不足、是否换页 |
| 5 | 网络异常时用 ss、sar -n、ip -s link、tcpdump | 判断连接、丢包、重传、端口问题 |
| 6 | 最后结合 dmesg、系统日志、业务日志 | 判断是否存在硬件、驱动、内核或应用异常 |
这份表可以作为 Linux OS 层排障手册的主体框架。