编辑
2025-12-08
服务器操作命令
00
请注意,本文编写于 37 天前,最后修改于 36 天前,其中某些信息可能已经过时。

目录

Linux服务器性能监控速查手册
一、磁盘IO监控命令
1. iostat - 磁盘IO统计
查看磁盘详细IO
只看IOPS
2. iotop - 进程级磁盘IO
查看进程磁盘使用
二、网络带宽监控命令
1. iftop - 实时流量监控
2. sar - 网络统计
查看网络设备统计
3. nethogs - 进程网络使用
三、IOPS监控方法
2. 不同磁盘IOPS参考值
四、带宽监控参考
1. 带宽使用率计算
2. 不同带宽规格参考
五、瓶颈快速判断
1. 磁盘瓶颈判断
执行:
判断标准(同时满足两个条件):
如果符合 → 磁盘IO瓶颈
2. 带宽瓶颈判断
执行:
计算:
如果 > 80% → 带宽瓶颈
3. IOPS瓶颈判断
执行:
判断:
六、一站式监控脚本
七、常用命令速查表
八、紧急情况处理
1. 磁盘IO爆满
立即查看占用进程
临时缓解
2. 带宽打满
查看占用进程
临时限速(限制为1M)
九、记住这三个命令就够了
磁盘问题:看这个
网络问题:看这个
进程问题:看这个
简单口诀:

Linux服务器性能监控速查手册

一、磁盘IO监控命令

1. iostat - 磁盘IO统计

查看磁盘详细IO

iostat -x 1 3

只看IOPS

iostat -d 1 3

关键指标阈值:

  • %util > 80% : IO使用率过高
  • await > 20ms : IO延迟过高
  • tps > 500 : IOPS过高(普通磁盘)

2. iotop - 进程级磁盘IO

查看进程磁盘使用

iotop -o -d 2
  • 判断:单个进程读写 > 10MB/s 为异常

二、网络带宽监控命令

1. iftop - 实时流量监控

iftop -nP
  • 判断带宽瓶颈:

(1)查看网卡最大带宽:ethtool eth0 | grep Speed

(2)计算使用率 = (当前流量/最大带宽) × 100%

(3)告警阈值:使用率 > 70% 持续5分钟

2. sar - 网络统计

查看网络设备统计

sar -n DEV 1 3

带宽计算:

  • 流入带宽 = rxkB/s × 8 / 1024 = Mbps
  • 流出带宽 = txkB/s × 8 / 1024 = Mbps

3. nethogs - 进程网络使用

nethogs eth0
  • 查看哪个进程占用带宽

三、IOPS监控方法

  1. 查看当前IOPS
iostat -d -k 1 3
  • 关注 tps 列(就是IOPS)

2. 不同磁盘IOPS参考值

磁盘类型 正常IOPS范围 告警阈值 机械硬盘(HDD) 100-200 > 150 SATA SSD 5,000-10,000 > 8,000 NVMe SSD 50,000-100,000+ > 80,000 阿里云高效云盘 几百 > 500 阿里云SSD云盘 几千-几万 > 80%规格值

四、带宽监控参考

1. 带宽使用率计算

假设购买5M带宽,最大625KB/s(5×1024/8) 当前流量300KB/s,使用率 = 300/625×100% = 48%

2. 不同带宽规格参考

购买带宽 最大KB/s 告警阈值 1M 128KB/s > 100KB/s 5M 640KB/s > 512KB/s 10M 1280KB/s > 1024KB/s 50M 6400KB/s > 5120KB/s 100M 12800KB/s > 10240KB/s

五、瓶颈快速判断

1. 磁盘瓶颈判断

执行:

iostat -x 1 | head -5

判断标准(同时满足两个条件):

条件1:%util > 80%

条件2:await > 20ms

如果符合 → 磁盘IO瓶颈

2. 带宽瓶颈判断

执行:

sar -n DEV 1 3 | grep "Average.*eth0"

计算:

使用率 = (rxkB/s + txkB/s) × 8 / 1024 / 购买带宽(M) × 100%

如果 > 80% → 带宽瓶颈

3. IOPS瓶颈判断

执行:

iostat -d 1 3 | grep "sda"

判断:

当前tps > 磁盘类型正常值的80%

六、一站式监控脚本

#!/bin/bash echo "===== 快速性能检查 =====" echo "时间: $(date)" echo "" # 1. 磁盘IO echo "1. 磁盘IO状态:" iostat -x 1 1 | tail -n +4 echo "" # 2. 网络带宽 echo "2. 网络带宽:" sar -n DEV 1 1 | grep -E "(IFACE|eth0)" echo "" # 3. 瓶颈判断 echo "3. 瓶颈分析:" UTIL=$(iostat -x 1 1 | tail -1 | awk '{print $14}') if (( $(echo "$UTIL > 80" | bc -l) )); then echo "⚠️ 磁盘IO瓶颈: 使用率${UTIL}%" else echo "✅ 磁盘IO正常: 使用率${UTIL}%" fi RX_KB=$(sar -n DEV 1 1 | grep "Average.*eth0" | awk '{print $5}' | head -1) if (( $(echo "$RX_KB > 10000" | bc -l) )); then echo "⚠️ 网络带宽高: ${RX_KB}KB/s" else echo "✅ 网络带宽正常" fi

七、常用命令速查表

监控项命令关键指标告警阈值
磁盘IOiostat -x 1%util, await>80%, >20ms
IOPSiostat -d 1tps见上表
网络带宽sar -n DEV 1rxkB/s, txkB/s使用率>70%
实时流量iftop -nP实时流量-
进程IOiotop -oDISK READ/WRITE>10MB/s
进程网络nethogs eth0进程流量视业务定

八、紧急情况处理

1. 磁盘IO爆满

立即查看占用进程

iotop -o

临时缓解

sync; echo 3 > /proc/sys/vm/drop_caches

2. 带宽打满

查看占用进程

nethogs eth0

临时限速(限制为1M)

tc qdisc add dev eth0 root tbf rate 1mbit burst 10kb latency 70ms

九、记住这三个命令就够了

磁盘问题:看这个

iostat -x 1

网络问题:看这个

iftop -nP

进程问题:看这个

top

简单口诀:

  1. 磁盘看 iostat -x 1

  2. 网络看 iftop -nP

  3. %util > 80% → 磁盘忙

  4. 带宽 > 70% → 网络忙

本文作者:小白

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!