Linux怎么使用Sar查看历史网卡流量

阿强姑娘_5083

阿强姑娘_5083

2026-06-10

760人浏览

原创

sar默认不保存历史网卡流量数据,需启用sysstat服务并配置enabled="true",历史数据按日存于/var/log/sa/sadd,仅含日期不存年月,单位为kb/s且统计l2层总字节。

linux怎么使用sar查看历史网卡流量

Linux的sar默认不保存历史网卡流量数据

sar本身只是报告工具,它不会主动记录历史数据——除非你提前配置了sysstat服务并启用数据收集。很多用户执行sar -n DEV 1 5能看到实时流量,但一查sar -n DEV -f /var/log/sa/saXX就报错或显示空,根本原因是sysstat没在运行,或者/etc/sysconfig/sysstat(RHEL/CentOS)或/etc/default/sysstat(Debian/Ubuntu)里ENABLED="false"。

确认是否启用采集:
- 检查服务状态:systemctl is-active sysstat
- 查看配置文件中ENABLED是否为true
- 确认/var/log/sa/下是否有saXX文件(XX为日期,如sa05表示5号)

sar -n DEV查历史流量时必须指定正确日期文件

历史数据按天分片存放在/var/log/sa/,文件名是saDD(DD为日号,不足两位补零)。比如今天是7月12日,想查10号的网卡流量,得用:sar -n DEV -f /var/log/sa/sa10,而不是sa0710或sa20240710——sysstat不存年份和月份,只存日。

常见误操作:

  • 用sar -n DEV -s 09:00 -e 10:00查历史,但没加-f,结果查的是当天实时缓冲区(可能为空)
  • 手动cp /var/log/sa/sa10 ./sa10.bak后改名,再-f读取,但sar会校验文件头时间戳,名字不对或时间戳异常会导致解析失败
  • 在非root用户下执行-f读取/var/log/sa/,因权限不足静默失败(无报错,但输出为空)

网卡名在历史记录里可能和ip link看到的不一致

sar -n DEV输出的接口名来自内核采集时刻的/proc/net/dev快照,而现代系统常使用可预测网卡名(如ens33、enp0s3),但某些旧版sysstat或容器环境可能回退为eth0。更关键的是:如果网卡在采集时段内被重命名、UP/DOWN过,sar仍按原始设备名记录,不会自动映射。

Linux installer
Linux installer

先解析安全源,运行本地CLI安装、启动、卸载Linux桌面应用。用户请求时使用。

下载

验证方法:

  • 查当天任意一个saXX文件:执行sar -n DEV -f /var/log/sa/saXX | head -5,看第一行接口列表
  • 对比当前设备:awk '{print $1}' /proc/net/dev | sed 's/://g' | grep -E '^[a-z]' | sort
  • 若历史记录里出现lo但没看到ens33,说明当时该网卡未激活,或sysstat启动晚于网卡UP时间

流量单位是KB/s,不是bps,且默认只统计IPv4+IPv6的L2层收发

sar -n DEV输出的rxkB/s和txkB/s是每秒接收/发送的千字节数(注意是KB,不是KiB;1 KB = 1000 B),不是比特率。它统计的是从网卡驱动上报的原始字节数,包含IP头、TCP头、以太网帧头等所有L2层载荷,不区分上层协议类型。

这意味着:

  • 如果你用iftop看到某连接占10MB/s,sar里对应网卡可能只显示~8.5 MB/s——因为iftop算的是应用层有效载荷,sar算的是链路层总字节
  • sar -n DEV不体现丢包、错误帧、重传,要查这些得用sar -n EDEV
  • 如果启用了bonding或veth pair,sar会分别列出物理口和虚拟口,但不会自动聚合,需人工加总

真正麻烦的是:一旦sysstat没开,过去的数据永远丢失;而开了之后,日志默认只保留28天(由/etc/cron.d/sysstat里的run-systemd-cron或sa1脚本控制),超期自动清理。别等出问题才想起来看——先确认ENABLED="true",再盯一眼/var/log/sa/里最近三天有没有新文件。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3870

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3333

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2453

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5930

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5562

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3273

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2785

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

2999

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

277

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习