【安全与故障排查】08-CPU-内存-磁盘-网络故障排查思路大全 CPU / 内存 / 磁盘 / 网络故障排查思路大全专栏安全 故障排查难度入门标签故障排查性能问题CPU内存磁盘网络运维前言遇到服务器性能问题你的排查思路决定了问题解决的速度。本文给出四大资源类型的标准排查流程建议收藏。一、CPU 问题排查症状load average 高、响应慢、服务超时# 第一步确认负载uptime# load average: 8.52, 6.14, 5.23# 8核机器load 8说明有问题# 第二步找出CPU消耗最高的进程psaux--sort-%cpu|head-10# 或top# 按P排序# 第三步确认是用户态还是内核态top# 观察 %us 和 %sy# %us高 → 应用层问题代码死循环、GC# %sy高 → 系统调用频繁I/O、网络# %wa高 → 等待I/O磁盘/网络瓶颈# 第四步找出进程中CPU最高的线程ps-LpPID-opid,tid,pcpu--sort-pcpu|head-10# 第五步Java应用找热点转换线程ID为十六进制printf%x\nTID# 在 jstack 输出中搜索这个十六进制值jstackPID|grep十六进制TID-A30# 第六步性能分析需要采样时间perftop-pPID二、内存问题排查症状系统OOM、应用被kill、swap频繁# 第一步查看内存概况free-h# 重点看 available而不是 free# 第二步找内存消耗最高的进程psaux--sort-%mem|head-10# 第三步查看OOM历史dmesg|grep-ioomgrep-ikilled process/var/log/messages journalctl-k|grep-ioom# 第四步内存泄漏排查# 观察进程内存是否持续增长watch-n5ps aux --sort-%mem | head -5# 第五步查看大页内存使用grepHugePage /proc/meminfo# 第六步smaps详细分析某进程的内存映射cat/proc/PID/smaps|grep-A20Anonymous# 第七步slab cache过大slabtop-o|head-20# 如果某个slab占用超过 1GB可能有内核泄漏三、磁盘问题排查症状磁盘满、IO高、写入慢# 第一步查看磁盘使用df-h# 找使用率高的挂载点# 第二步找大文件/目录du-sh/var/log/*|sort-rh|head-10find/-size1G-typef2/dev/null# 第三步查看inode使用inode满了但磁盘空间有df-i# 如果某个分区 IUse% 是 100%是inode耗尽# 常见原因大量小文件日志、临时文件find/-xdev-printf%h\n|sort|uniq-c|sort-rn|head-10# 第四步查看IO等待高的进程iotop-o-d2# 只显示有IO的进程# 或iostat-xz1# 看 %util超过90%说明磁盘IO饱和# 第五步找删除了但未释放的文件fd占用lsof|grepdeleted|awk{print $7, $9}|sort-rn|head-10# 日志文件被删除但进程还在写需要重启进程才能释放空间# 第六步检查文件系统错误dmesg|grep-iext4\|xfs\|error四、网络问题排查症状连接超时、请求失败、延迟高# 第一步检查基本连通性ping-c4target_iptraceroutetarget_ip# 找到哪一跳延迟高# 第二步检查DNS解析nslookupexample.comdigexample.com# 如果DNS慢换用8.8.8.8测试# 第三步查看网络连接状态ss-s# 连接数统计ss-ant|grep-cTIME_WAIT# TIME_WAIT过多可能是问题# 第四步查看网卡错误ip-slinkshow eth0# errors, dropped, overruns 不为0说明有问题# 第五步抓包分析tcpdump-ieth0-nhosttarget_ip-w/tmp/capture.pcap# 用Wireshark打开分析# 第六步带宽测试iperf3-s# 服务端iperf3-cserver_ip# 客户端# 第七步查看系统网络参数sysctlnet.core.somaxconn# 连接队列sysctlnet.ipv4.tcp_tw_reuse# TIME_WAIT复用五、通用排查框架遇到任何性能问题按这个顺序排查 1. 确认现象什么服务、什么时间、什么症状 2. 看系统资源CPU / 内存 / 磁盘 / 网络 哪个先到瓶颈 3. 缩小范围是哪个进程消耗最多资源 4. 深入分析用专项工具分析该进程 5. 制定方案临时止血 vs 长期根治 6. 验证效果修复后确认指标恢复正常 7. 文档记录写故障复盘防止复发结语排查性能问题的核心是系统化的思路而不是凭感觉。这个流程可以覆盖90%的日常故障场景。剩下10%的疑难杂症需要更深入的内核知识。