Linux 运维高阶命令实战指南:五大场景排障 - 夜莺博客

Linux 运维高阶命令实战指南:五大场景排障

线上生产环境经常遇到负载飙高、日志刷屏、磁盘爆满、链路中断、进程僵死等故障,只会基础命令排障效率极低。本文按系统监控、日志分析、进程管理、磁盘运维、网络调试五大场景,整理运维高频高阶命令的核心用途、常用参数与实战用法,直接拿来就能用。

一、系统性能监控与瓶颈定位

top:系统动态监控

top -d 2          # 刷新间隔 2 秒
top -p 1234       # 只监控指定 PID
top -u root       # 只看 root 用户进程
# 交互:P 按CPU排序  M 按内存排序  q 退出

htop:top 增强版

支持鼠标、树形父子进程、色彩区分;F2 自定义列、F4 关键字过滤、F9 发送信号。

iostat:磁盘 IO 专项分析

iostat -d -x 1          # 每秒刷新扩展 IO 信息
iostat -d -x 1 sda      # 单独监控 sda
# %util 持续超 80% 基本判定 IO 瓶颈;await 过高表示磁盘处理缓慢

二、日志排查与文本处理

tail -n 100 app.log              # 查看末尾 100 行
tail -F app.log                  # 适配日志切割的实时跟踪
grep -C 5 "ERROR" app.log        # 错误前后 5 行上下文
grep -r "Exception" /var/log/    # 递归检索
awk '{print $1}' nginx.access.log                              # 提取客户端 IP
awk '$10>100' nginx.access.log                                 # 响应超 100ms 的请求
awk '{count[$1]++} END{for(ip in count) print ip, count[ip]}' nginx.access.log  # 每 IP 访问次数

三、进程管理与异常恢复

ps -ef | grep java    # 查看 Java 相关进程
ps aux                # 按资源占用查看所有进程
pstree -p             # 进程树(带 PID),排查僵死子进程

四、磁盘存储排查

df -h                 # 分区使用率
df -i                 # inode 使用率(磁盘有空间却无法建文件的元凶)
du -sh /var/log/      # 目录总占用
du -h --max-depth=1 / | sort -nr | head -10   # 找出最大目录
find / -size +100M -type f                    # 大文件
find /var/log/ -mtime +7 -type f              # 7 天前日志
find /var/log/ -mtime +7 -type f -exec rm -rf {} \;

五、网络连通性与路由调试

ping -c 4 192.168.1.1     # 4 个包后停止,适配脚本
traceroute www.baidu.com  # 追踪路由节点,定位断点网关
mtr www.baidu.com         # ping+traceroute 合体,实时统计每跳丢包率与延迟,生产首选

实战技巧总结

  1. 优先增强工具:htop 替代 top、mtr 替代 traceroute;
  2. 善用管道组合:筛选、排序、统计一站式完成;
  3. 摒弃死记参数:掌握核心场景用法即可;
  4. 高危操作(find 批量删除、kill)先查询确认,避免生产事故。

相关阅读

Linux 性能排障工具大全见本站 Linux Performance Troubleshooting: Tools and Commands;网络故障定位思路见 Linux 网络故障排查:从网卡到路由的定位思路

原文链接:https://openeuler.csdn.net/6a101432662f9a54cb765a5a.html