ifstat 与 nload 是什么
ifstat 按固定间隔打印网卡的收发速率,输出简洁,适合在终端里直接看也可以被脚本采集;nload 用图形条实时展示每个接口的进出台宽。做压测、备份或大文件分发时,想立刻确认「带宽有没有吃满」「是哪个方向」,这两个工具最直观。
基本信息
| 所属 | ifstat / nload(多为 EPEL 或第三方源提供) |
|---|---|
| 语法 | ifstat [-i 接口] [间隔] [次数] / nload [接口] |
| 替代方案 | 读 /proc/net/dev、sysfs 统计,或用 sar -n DEV |
| 单位注意 | 不同工具与选项下的速率单位不同,先确认再比较 |
典型使用场景
- 备份或同步任务运行期间确认带宽是否吃满
- 压测时核对吞吐是否达到链路能力
- 区分是入向还是出向占满,决定限速方向
- 把流量峰值时段与业务日志的时间线对齐
- 多网卡机器上分别观察各接口的负载
- 没有部署监控系统时的临时观测手段
常用示例
常用示例
ifstat -i eth0 1 5 # 每秒采样一次,共 5 次
ifstat # 默认显示所有接口
nload eth0 # 图形化实时视图
awk 'NR>2{print $1, $2, $10, $16}' /proc/net/dev # 无工具时的替代写法
cat /sys/class/net/eth0/statistics/rx_bytes # 累计接收字节
ethtool eth0 | grep -i speed # 确认链路速率与双工
sar -n DEV 1 5 # sysstat 视角的实时速率字段与判据
| 字段 | 含义 | 常见判据 |
|---|---|---|
| in | 入向速率 | 对比链路带宽判断是否吃满 |
| out | 出向速率 | 备份任务多为出向吃满 |
| 单位 | 取决于工具与选项 | 先确认单位再换算比较 |
| 时间列 | 采样时间点 | 用于与业务日志对齐 |
| 累计字节 | procfs 与 sysfs 提供 | 两次取值相减可得平均速率 |
看带宽别忘双向:备份窗口吃满的通常是出向,下载与同步偏入向;方向决定了要不要限速,以及限哪个方向。
容器内 /proc/net/dev 只反映该容器的网络命名空间,真实流量要在宿主机上聚合观察,否则会低估整机的带宽占用。
先把单位对齐再比较:ifstat 常以 KB/s 显示,而链路带宽习惯用 Gbit/s 描述,换算错误会得出「带宽还很空」的错误结论。