sar -n DEV 1 100

1代表一秒统计并显示一次
100代表统计一百次
使用ntop等工具,就更方便简单了,不过这个更灵活

P.S.

sar在sysstat包

--------------------------

sudo apt install nethogs

nethogs -d 1

---------------------------------

1、Linux查看网络即时网速

    sar -n DEV 1 100

1代表一秒统计并显示一次
    100代表统计一百次
    使用ntop等工具,就更方便简单了,不过这个更灵活

2、nload
3、nethogs 详细查看每个进程的即时网速
    默认是eth0,使用nethogs eth1 查看eth1
1
2
3
4
5
6
7
8
9
10
11
12
NetHogs version 0.8.0
  PID USER     PROGRAM                                                      DEV        SENT      RECEIVED      
23705 zabbix   ..al/zabbix/sbin/zabbix_proxy: trapper #1 [processing data]  eth0       0.100       0.147 KB/sec
23721 zabbix   ..l/zabbix/sbin/zabbix_proxy: trapper #13 [processing data]  eth0       0.096       0.133 KB/sec
23717 zabbix   ..l/zabbix/sbin/zabbix_proxy: trapper #11 [processing data]  eth0       0.100       0.133 KB/sec
23715 zabbix   ..al/zabbix/sbin/zabbix_proxy: trapper #9 [processing data]  eth0       0.100       0.133 KB/sec
23706 zabbix   ..al/zabbix/sbin/zabbix_proxy: trapper #2 [processing data]  eth0       0.096       0.133 KB/sec
23712 zabbix   ..al/zabbix/sbin/zabbix_proxy: trapper #6 [processing data]  eth0       0.100       0.132 KB/sec
23746 zabbix   ..l/zabbix/sbin/zabbix_proxy: trapper #19 [processing data]  eth0       0.100       0.132 KB/sec
23720 zabbix   ..l/zabbix/sbin/zabbix_proxy: trapper #12 [processing data]  eth0       0.295       0.132 KB/sec
8815  root     sshd: root@pts/0,pts/1,pts/2                                 eth0       1.514       0.082 KB/sec
57093 root     /usr/java/j2sdk/bin/java
 

3、iftop

Linux流量监控工具 - iftop (最全面的iftop教程)

在类Unix系统中可以使用top查看系统资源、进程、内存占用等信息。查看网络状态可以使用netstat、nmap等工具。若要查看实时的网络流量,监控TCP/IP连接等,则可以使用iftop。

一、iftop是什么?

iftop是类似于top的实时流量监控工具。
官方网站:iftop: display bandwidth usage on an interface

二、iftop有什么用?

iftop可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等,详细的将会在后面的使用参数中说明。

三、安装iftop安装方法1、编译安装

如果采用编译安装可以到iftop官网下载最新的源码包。
安装前需要已经安装好基本的编译所需的环境,比如make、gcc、autoconf等。安装iftop还需要安装libpcap和libcurses。
CentOS上安装所需依赖包:
yum install flex byacc  libpcap ncurses ncurses-devel libpcap-devel
Debian上安装所需依赖包:
apt-get install flex byacc  libpcap0.8 libncurses5
下载iftop
wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz
tar zxvf iftop-0.17.tar.gz
cd iftop-0.17
./configure
make && make install

安装方法2:(懒人办法,最简单)

直接省略上面的步骤
CentOS系统:
yum install flex byacc  libpcap ncurses ncurses-devel
wget ftp://fr2.rpmfind.net/linux/dag/ ... 7-1.el5.rf.i386.rpm
rpm -ivh iftop-0.17-1.el5.rf.i386.rpm
Debian系统 运行:apt-get install iftop

四、运行iftop

直接运行: iftop
效果如下图:

五、相关参数及说明1、iftop界面相关说明

界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。
中间的<= =>这两个左右箭头,表示的是流量的方向。
TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量

2、iftop相关参数常用的参数

-i设定监测的网卡,如:# iftop -i eth1
-B 以bytes为单位显示流量(默认是bits),如:# iftop -B
-n使host信息默认直接都显示IP,如:# iftop -n
-N使端口信息默认直接都显示端口号,如: # iftop -N
-F显示特定网段的进出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0
-h(display this message),帮助,显示参数信息
-p使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息;
-b使流量图形条默认就显示;
-f这个暂时还不太会用,过滤计算包用的;
-P使host信息及端口信息默认就都显示;
-m设置界面最上边的刻度的最大值,刻度分五个大段显示,例:# iftop -m 100M

进入iftop画面后的一些操作命令(注意大小写)

按h切换是否显示帮助;
按n切换显示本机的IP或主机名;
按s切换是否显示本机的host信息;
按d切换是否显示远端目标主机的host信息;
按t切换显示格式为2行/1行/只显示发送流量/只显示接收流量;
按N切换显示端口号或端口服务名称;
按S切换是否显示本机的端口信息;
按D切换是否显示远端目标主机的端口信息;
按p切换是否显示端口信息;
按P切换暂停/继续显示;
按b切换是否显示平均流量图形条;
按B切换计算2秒或10秒或40秒内的平均流量;
按T切换是否显示每个连接的总流量;
按l打开屏幕过滤功能,输入要过滤的字符,比如ip,按回车后,屏幕就只显示这个IP相关的流量信息;
按L切换显示画面上边的刻度;刻度不同,流量图形条会有变化;
按j或按k可以向上或向下滚动屏幕显示的连接记录;
按1或2或3可以根据右侧显示的三列流量数据进行排序;
按<根据左边的本机名或IP排序;
按>根据远端目标主机的主机名或IP排序;
按o切换是否固定只显示当前的连接;
按f可以编辑过滤代码,这是翻译过来的说法,我还没用过这个!
按!可以使用shell命令,这个没用过!没搞明白啥命令在这好用呢!
按q退出监控。

--------------------------------------------

假如Keepalived有10个VIP,怎么查看每个VIP的流量呢?

这里就可以使用sar命令查看网卡流量了。前提是你Keepalived监听网卡时。设置网卡时子接口。

也就是说你网卡绑定子接口上。这样eth0:0,eth0:1,每个网卡流量都可以看了

在工作中,我们经常需要查看服务器的实时网卡流量。通常,我们会通过这几种方式查看Linux服务器的实时网卡流量。

1. sar -n DEV 1 2

sar命令包含在sysstat工具包中,提供系统的众多统计数据。其在不同的系统上命令有些差异,某些系统提供的sar支持基于网络接口的数据统计,也可以查看设备上每秒收发包的个数和流量。

1

sar –n DEV 1 2

命令后面1 2 意思是:每一秒钟取1次值,取2次。

DEV显示网络接口信息

另外,-n参数很有用,他有6个不同的开关:DEV | EDEV | NFS | NFSD | SOCK | ALL ,其代表的含义如下:

  1. DEV显示网络接口信息。
  2. EDEV显示关于网络错误的统计数据。
  3. NFS统计活动的NFS客户端的信息。
  4. NFSD统计NFS服务器的信息
  5. SOCK显示套接字信息
  6. ALL显示所有5个开关

1

2

3

4

5

6

7

8

9

10

11

12

13

14

[sre@CDVM-213017031 ~]$ sar -n DEV 1 2

Linux 2.6.32-431.el6.x86_64 (CDVM-213017031)  05/04/2017  _x86_64_ (4 CPU)

08:05:30 PM  IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s

08:05:31 PM  lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00

08:05:31 PM  eth0 1788.00 1923.00 930.47 335.60  0.00  0.00  0.00

08:05:31 PM  IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s

08:05:32 PM  lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00

08:05:32 PM  eth0 1387.00 1469.00 652.12 256.98  0.00  0.00  0.00

Average:  IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s

Average:   lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00

Average:   eth0 1587.50 1696.00 791.29 296.29  0.00  0.00  0.00

参数说明:

  1. IFACE:LAN接口
  2. rxpck/s:每秒钟接收的数据包
  3. txpck/s:每秒钟发送的数据包
  4. rxbyt/s:每秒钟接收的字节数
  5. txbyt/s:每秒钟发送的字节数
  6. rxcmp/s:每秒钟接收的压缩数据包
  7. txcmp/s:每秒钟发送的压缩数据包
  8. rxmcst/s:每秒钟接收的多播数据包
  9. rxerr/s:每秒钟接收的坏数据包
  10. txerr/s:每秒钟发送的坏数据包
  11. coll/s:每秒冲突数
  12. rxdrop/s:因为缓冲充满,每秒钟丢弃的已接收数据包数
  13. txdrop/s:因为缓冲充满,每秒钟丢弃的已发送数据包数
  14. txcarr/s:发送数据包时,每秒载波错误数
  15. rxfram/s:每秒接收数据包的帧对齐错误数
  16. rxfifo/s:接收的数据包每秒FIFO过速的错误数
  17. txfifo/s:发送的数据包每秒FIFO过速的错误数

这种方式简单,直观,推荐使用。

2.实时监控脚本

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

#!/bin/bash

ethn=$1

while true

do

 RX_pre=$(cat /proc/net/dev grep $ethn | sed 's/:/ /g' awk '{print $2}')

 TX_pre=$(cat /proc/net/dev grep $ethn | sed 's/:/ /g' awk '{print $10}')

 sleep 1

 RX_next=$(cat /proc/net/dev grep $ethn | sed 's/:/ /g' awk '{print $2}')

 TX_next=$(cat /proc/net/dev grep $ethn | sed 's/:/ /g' awk '{print $10}')

 clear

 echo -e "\t RX `date +%k:%M:%S` TX"

 RX=$((${RX_next}-${RX_pre}))

 TX=$((${TX_next}-${TX_pre}))

 if [[ $RX -lt 1024 ]];then

 RX="${RX}B/s"

 elif [[ $RX -gt 1048576 ]];then

 RX=$(echo $RX | awk '{print $1/1048576 "MB/s"}')

 else

 RX=$(echo $RX | awk '{print $1/1024 "KB/s"}')

 fi

 if [[ $TX -lt 1024 ]];then

 TX="${TX}B/s"

 elif [[ $TX -gt 1048576 ]];then

 TX=$(echo $TX | awk '{print $1/1048576 "MB/s"}')

 else

 TX=$(echo $TX | awk '{print $1/1024 "KB/s"}')

 fi

 echo -e "$ethn \t $RX $TX "

done

  

此脚本不需要额外再安装软件,并且可自定义欲查看接口,精确到小数,可根据流量大小灵活显示单位,默认采集间隔为1秒。

用法为:

1、将脚本保存为可执行脚本文件,比如叫net.sh。

2、chmod +x ./net.sh 将文件改成可执行脚本。

3、sh net.sh eth0即可开始监看接口eth0流量,按ctrl+c退出。

脚本是通过读取运行时文件系统/proc/net/dev中的网络实时数据,并通过简单计算得到的。关于目录/proc/net/dev,请参考下文。

3. cat /proc/net/dev

Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。/proc文件系统中包含了很多目录,其中/proc/net/dev 保存了网络适配器及统计信息。

1

2

3

4

5

[sre@CDVM-213017031 ~]$ cat /proc/net/dev

Inter-| Receive            | Transmit

 face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed

 lo:137052296 108029 0 0 0  0   0   0 137052296 108029 0 0 0  0  0   0

 eth0:13661574714188 31346790620 0 0 0  0   0   0 5097461049535 27671144304 0 0 0  0  0   0

  

最左边的表示接口的名字,Receive表示收包,Transmit表示发送包;

  1. bytes表示收发的字节数;
  2. packets表示收发正确的包量;
  3. errs表示收发错误的包量;
  4. drop表示收发丢弃的包量;

其实,我们平时经常用的很多查看网卡实时流量的命令,都是通过读取该目录下的实时流量,并通过简单计算得到的。

4. 使用watch命令,配合ifconfig、more /proc/net/dev、cat /proc/net/dev来实时监控。比如执行 watch -n 1 "ifconfig eth0"

1

2

3

4

5

6

7

8

9

10

Every 1.0s: ifconfig eth0Thu May 4 20:26:45 2017

eth0  Link encap:Ethernet HWaddr FA:16:3E:7E:55:D1

   inet addr:10.213.17.31 Bcast:10.213.23.255 Mask:255.255.248.0

   inet6 addr: fe80::f816:3eff:fe7e:55d1/64 Scope:Link

   UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

   RX packets:31350149703 errors:0 dropped:0 overruns:0 frame:0

   TX packets:27674701465 errors:0 dropped:0 overruns:0 carrier:0

   collisions:0 txqueuelen:1000

   RX bytes:13663400883450 (12.4 TiB) TX bytes:5098104759633 (4.6 TiB)

  

watch可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行。在Linux下,watch是周期性的执行下个程序,并全屏显示执行结果。

限制网速的方

一、在Linux/Centos下用wondershaper限速

1、首先下载wondershaper的rpm安装包:wondershaper-1.1a-7.noarch.rpm

2、安装wondershaper:

rpm -ivh wondershaper-1.1a-7.noarch.rpm

3、限速命令:

wondershaper bond0 500 50

第一个参数为网卡接口名,后面两个数字分别代表下行和上行的速度(单位Kb)

4、取消限速:

wondershaper clear eth0

debian 查看实时网速相关推荐

  1. Linux查看实时网速的Shell

    Linux查看实时网速的shell What 这是一个可以查看Linux主机实时网速的shell脚本,它能够根据网速自动调整单位以便更好的显示网速. Linux显示实时网速的shell Why 在工作 ...

  2. 【Linux】监控实时网速 查看实时网速

    sar sar -n DEV 1 100 1代表一秒统计并显示一次 100代表统计一百次 nload # 查看所有网卡实时网速 sudo nload -m # 查看指定网卡实时网速 sudo nloa ...

  3. linux 实时 网口 速率_linux命令行查看实时网速

    bash-148836_640.png 在使用ubuntu desktop的时候,会经常有查看系统当前网速的需求,但是又不愿意花费时间去寻找一款网速查看工具的时候(这样的工具一般都比较臃肿),那么直接 ...

  4. 查看实时网速的小方法

    一是使用wireshark,在菜单统计->io图表中查看,或者更简单的,在任务管理器->性能->以太网中查看:

  5. Linux查看实时网速

    http://www.linuxidc.com/Linux/2013-08/88550p3.htm 工具三:IPTraf IPTraf功能比上述的更强大,可以监控所有的流量,IP流量,按协议分的流量, ...

  6. linux shell查看实时网速

    jnettop sudo apt install jnettop jnettop nethogs 这个在centos上也可以用. sudo yum install epel-release sudo ...

  7. 麒麟SP1系统查看网卡实时网速和网卡速率

    一.查看网卡实时网速 1.使用nlaod命令 1.安装软件包 root@kylin:~# apt-get install nload #安装软件包 2.查看所有网卡实时网速 root@kylin:~# ...

  8. linux查看当前网卡网速,Linux环境编程:获取网卡的实时网速

    在Windows下面,我们可以看到360或者是qq安全卫士的"安全球",上面显示实时的网速情况.那么在Linux里面如何获取网卡的实时网速?其实原理很简单,读取需要获取网速的网卡在 ...

  9. win8网速怎么测试软件,Windows8小技巧:查看当前网速

    我们在使用电脑的过程中,有时候会因为一些原因要查看电脑的网速.在WIN8系统中,上网的时候发现速度特别慢,这个时候我们可以用cmd的ping命令查网速,是否掉线等情况,准确率高.那么具体怎么做呢?下面 ...

最新文章

  1. mysql的时间存储格式
  2. JSF优点(转载自中国IT实验室)
  3. Linux部署动态网页,Nginx发布支持动态配置的开源Web服务器
  4. 安装和使用Redis【转】
  5. SAP UI5 应用开发教程之五十八 - 使用工厂方法在运行时动态创建不同类型的列表行项目控件
  6. 医学图像处理期末复习(四)
  7. ios开发网络篇—HTTP协议 - 转
  8. 根据当前登录域账号 获取AD用户姓名和所在OU目录
  9. FastReport问题整理
  10. “杜绝电子垃圾,我们需要软件永远更新下去!”
  11. win10传真服务器位置,win10系统电脑发传真的操作方法
  12. 小米路由器4C刷机(以OpenWrt为例)
  13. Latex中的一些公式表达
  14. 51 nod 2070 最小罚款
  15. 解决Xcode报错“The certificate used to sign “xxxxxx” has either expired or has been revoked“
  16. Python报错 TypeError: Descriptors cannot not be created directly
  17. 电磁波 -- 频谱介绍
  18. 5,10,15,20-四苯基卟啉(TPP)及金属配合物FeTPP/MnTPP/CuTPP/ZnTPP/NiTPP/CoTPP/PtTPP/PdTPP/CdTPP齐岳供应
  19. Dynamics 365 on-premises9.0中文版安装SrsDataConnector出错
  20. [九] ASP.NET CoreMVC 中的布局视图

热门文章

  1. 【JY】ABAQUS正交各向异性弹性本构模型
  2. CCF推荐会议 | 人机交互:截稿日期纵览 (含CSCW, UbiComp, collaboratecom 等会议微信交流群)
  3. 验证歌德巴赫猜想:任何一个充分大的偶数都可以表示为两个素数之和。请输入一个偶数,将其表示成两个素数之和。
  4. python怎么整理数据的_如何用 Python 整理数据?
  5. Vue-路由传参的方法与区别
  6. android sd卡目录查看,Android sd卡目录详解
  7. protocol buffer编码原理,让你理解pb是如何实现的
  8. 用ControlJS优化阿里妈妈广告
  9. MSET算法参差分析(二)
  10. 寻找Ubuntu中繁体字输入法