sar查5分钟瞬时速率峰值,vnstat查日均最高小时流量;sar不存盘仅内存滚动,vnstat依赖初始化且数据持久;iftop/nload无历史记录,秒级峰值需轮询/proc/net/dev计算。

没有“实时历史峰值”这种东西——sar 和 vnstat 各管一段,别混用。
用 sar 查最近 5 分钟的流量峰值(非长期)
sar -n DEV 1 300 可以每秒采一次、共 300 次(5 分钟),输出里 rxkB/s 和 txkB/s 列的最大值就是这 5 分钟内的瞬时速率峰值。它不存盘,只在内存里滚动;重启后 /var/log/sa/ 下的 saXX 文件才保留当天数据,但默认只保留最近 7 天。
常见误操作:
- 直接跑
sar -n DEV不带参数:它会读上一次的缓存,不是当前值 - 用
sar -n DEV 60 1想看“1 分钟平均”:这只会给你一个模糊均值,根本抓不到峰值 - 查
/var/log/sa/sa$(date -d yesterday +%d)却发现文件不存在:sysstat 服务没开,或/etc/cron.d/sysstat被注释了
用 vnstat 查日/月级历史总量与日均峰值(非瞬时)
vnstat 的“峰值”是日均最高小时流量(vnstat -d 输出里的 max 字段),单位是 KB/s,本质是“某天里最忙那一小时的平均速率”,不是秒级爆发值。它靠轮询 /proc/net/dev 实现,所以不丢数据、不依赖 root、重启也不中断。
Linux AI 服务器 — 将 Linux 服务器转换为本地 AI 推理集群。使用 systemd、NVIDIA CUDA 实现无头 Linux AI,零 GUI 开销。
必须先初始化才能用:
- 绑定网卡:
sudo vnstat -u -i eth0(否则vnstat直接报错No database found) - 首次采集要等至少 5 分钟(默认采样间隔),
vnstat -l显示的“实时”其实是最近 2 分钟滑动均值 - 查当月每日峰值:
vnstat -d | grep "max";查整月汇总:vnstat -m
别指望 iftop/nload 给你历史峰值
它们压根不存历史——iftop 界面里看到的 peak 是自启动以来的最高瞬时值,关掉就清零;nload 的 Max 也是当前会话内最大值,且默认每 500ms 刷新一次,漏掉短时毛刺很常见。
真正要抓秒级突发峰值,得用 watch -n 0.1 'cat /proc/net/dev | awk '\''NR==3 {print $2,$10}'\'' 自己算差值,再 pipe 给 sort -n 找最大增量。但注意:/proc/net/dev 的计数器是累加的,单位是字节,换算成 Mbps 要除以 125000(不是 1024×1024)。
实际部署时,vnstat 负责看趋势和容量规划,sar 用于故障复盘的 5 分钟粒度回溯,真要盯秒级毛刺,就得自己写脚本轮询 /proc/net/dev ——没有银弹,只有分层取舍。










