点击左上方蓝色“一口Linux”,选择“设为星标”
在工作中,我们经常需要查看服务器的实时网卡流量。通常,我们会通过这几种方式查看Linux服务器的实时网卡流量。
目录
(资料图片仅供参考)
1、sar
2、 /proc/net/dev
3、ifstat
4、iftop
5、nload
6、iptraf-ng
7、nethogs
8、扩展
1、sar
sar命令包含在sysstat工具包中,提供了基于网络接口的数据统计,也可以查看设备上每秒收发包的个数和流量。
sar -n DEV 1 2
上面命令的含义是:向网卡(默认eth0)每秒读取1次值,共读取2次,然后显示出来:
详细使用教程参考博客:《sar — Linux 上最为全面的系统性能分析工具之一》
2、cat/proc/net/dev
Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。
/proc文件系统中包含了很多目录,其中/proc/net/dev就是提供给用户读取或更改网络适配器及统计信息的途径。
注意:因为proc是伪文件系统,只存在内存中,所以这里统计的数据的时间起止时间是:系统启动到命令执行,如果此时系统发生重启,数据将会清零。
其实,我们平时经常用的很多查看网卡实时流量的命令,都是通过读取该目录下的实时流量,并通过简单计算得到的。
3、ifstat
ifstat是一个统计网络接口活动状态的工具。
(1)安装
sudo apt-get updatesudo apt-get install ifstat
(2)命令选项
(3)使用示例:
ifstat -tT
4、iftop
iftop是一款实时流量监控工具,监控TCP/IP连接等,缺点就是无报表功能。必须以root身份才能运行。
(1)安装
sudo apt-get updatesudo apt-get install iftop
(2)命令选项
(3)使用示例:
1、sudo iftop -i eth0 -t -s 30 -L 100
注意,如果时间较长,各ip地址的cumulative累计和可能并不等于最终的Cumulative,此时可以每40s统计一次结果,然后将结果累加。
2、sudo iftop -i eth0
iftop的输出从整体上可以分为三大部分:
iftop输出中最上面的一行,此行信息是流量刻度,用于显示网卡带宽流量。
iftop输出中最大的一个部分,此部分又分为左、中、右三列,左列和中列记录了哪些IP或主机正在和本机的网络进行连接。其中,中列的“=>”代表发送数据,“<=”代表接收数据,通过这个指示箭头可以很清晰地知道两个IP之间的通信情况。最右列又分为三小列,这些实时参数分别表示外部IP连接到本机2秒内、10秒内和40秒内的平均流量值。另外,这个部分还有一个流量图形条,流量图形条是对流量大小的动态展示,以第一部分中的流量刻度为基准。通过这个流量图形条可以很方便地看出哪个IP的流量最大,进而迅速定位网络中可能出现的流量问题。
第三部分位于iftop输出的最下面,可以分为三行,其中,“TX”表示发送数据,“RX”表示接收数据,“TOTAL”表示发送和接收全部流量。与这三行对应的有三列,其中“cum”列表示从运行iftop到目前的发送、接收和总数据流量。“peak”列表示发送、接收以及总的流量峰值。“rates”列表示过去2s、10s、40s的平均流量值。
5、nload
nload是一个实时监控网络流量和带宽使用的控制台应用程序,使用两个图表可视化地展示接收和发送的流量,并提供诸如数据交换总量、最小/最大网络带宽使用量等附加信息。
(1)工具安装
sudo apt-get update sudo apt-get install nload
(2)命令选项
(3)使用示例:
nload eth0
6、iptraf-ng
iptraf-ng是观察网络流速的强力工具,它可以让你的观察逐步深入,从硬件层(网卡),到网络层(IPv4,IPv6),到传输层(TCP,UDP etc.),一直到每一对socket pair。
(1)工具安装
sudo apt-get update sudo apt-get install iptraf-ng
(2)命令选项
(3)使用示例
sudo iptraf-ng -s eth0 用于统计各port的流量 :
7、nethogs
nethogs 的设计用途主要是为了查看单独进程流量情况而被创造出来的。nethogs 是一个小型的 net top 工具,不和大多数工具那样按照每个协议或者子网的速度,而是按照进程进行带宽分组。nethogs 不需要依赖某个特殊的内核模块,如果发生了网络阻塞,你可以启动 nethogs 立即看到哪个 PID 造成的,这样就可以轻松的找到占用带宽的程序,然后进行相应的内容控制。
(1)工具安装
sudo apt-get update sudo apt-get install nethogs
(2)工具选项
(3)使用示例
sudo nethogs eth0
8、扩展
除了上面说到的工具外,linux还提供了一些其他流量监控工具,如:
ip:查看网卡上的总流量
stat:用来替换vmstat、iostat、netstat、nfsstat和ifstat的全能系统信息统计工具,支持数据实时刷新,输出直观易懂
ss 和 netstat:查看活动链接/监听端口的常用命令。ss 是 netstat 的替代,性能更好,建议使用
nethogs:查看单个进程流量而设计的工具,按照进程进行带宽分组
精彩文章合集
文章推荐
关键词: