首页/系统/Linux 运维命令速查/场景:容量+IO 联合巡检脚本
性能与监控48 条

场景:容量+IO 联合巡检脚本

容量与 IO 要一起看:写满与写慢经常同源;给出一段巡检脚本输出可直接进日报。

Linux 运维命令速查系统更新于 2026-10-13

容量与 IO 联合巡检是什么场景

容量和 IO 要放在一起看:磁盘写满与写入变慢经常同源——同一块盘既承载大量写入又接近容量上限时,两边的恶化会互相放大。日常巡检把容量、内存、IO 与连接数四类指标合成一屏输出,既可以直接当日报数据,也能在故障初期快速排除「是不是盘满了」。写这类脚本的关键是输出稳定字段,并给每条命令加超时保护。

基本信息

适用平台GNU/Linux(磁盘与内存工具加 IO 与连接统计工具)
场景日常巡检与日报数据采集
目标容量与性能指标一屏产出
关注阈值磁盘使用率高时预警、IO 等待时间变长时关注、连接数异常波动
脚本要求稳定字段加超时保护
输出方式追加到日志文件或日报系统

典型使用场景

  • 每天定时采集一次容量与性能快照,作为日报与趋势基线。
  • 故障初期快速确认是不是磁盘写满或 IO 打满。
  • 容量规划:按周对比增长率,评估扩容时间点。
  • 变更后对比前后指标,确认性能没有回退。
  • 交接与审计时提供标准化的巡检输出。

巡检脚本骨架

巡检脚本骨架
#!/bin/bash
echo "== $(hostname) $(date -Is) =="          # 主机与时间戳
timeout 5 free -h | head -n 2                # 内存概况
timeout 5 df -h | awk 'NR==1 || $5+0>=80'    # 只看使用率偏高的挂载点
timeout 5 lsblk -o NAME,TYPE,SIZE,MOUNTPOINT | head   # 块设备与挂载
timeout 10 iostat -xz 1 2 | tail -n 20       # IO 利用率与等待时间
timeout 5 ss -s | head -n 3                  # 连接数概况
# 落盘:bash insp.sh | tee -a /var/log/daily-insp.log

指标与阈值读法

指标异常表现说明
磁盘使用率高时需要预警接近写满会连带影响写入性能
IO 利用率持续接近满载说明磁盘已成为瓶颈
IO 等待时间明显升高不同类型的盘阈值差别很大
内存可用量结合缓存一起看只看空闲内存会误判
连接数突然大幅波动与业务量与回收状态相关
交换区使用大量使用换页频繁会拖慢整体响应
提取 IO 统计的列号依赖工具版本与参数:升级后先核对表头再相信脚本,否则会取到错误的列,报表数字看起来正常但完全不对。
脚本里每条命令都要加超时保护:某条命令卡住会拖死整次采集,结果就是日报缺数据还看不出原因。
阈值要按硬件类型区分:机械盘与固态盘的 IO 等待时间差别很大,用同一套阈值会频繁误报,最终没人看报告。

易错点

  • 只采容量不看 IO 等待,磁盘没满但已经严重排队,问题被漏掉。
  • 脚本命令没有超时保护,一条命令卡住导致整次巡检超时,日报缺数据。
  • 提取列号写死,工具升级后取到错误字段,报表数字看起来正常但完全不对。
  • 全部挂载点一起看,把只读或临时挂载的使用率当成风险,报告里出现大量无意义告警。

数据来源与参考

  • GNU coreutils / sysstat / iproute2 工具文档

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌