当前位置 : 主页 > 操作系统 > centos >

性能调优之网络篇 - Nicstat 查看所有网卡流量信息

来源:互联网 收集:自由互联 发布时间:2022-06-20
nicstat是一款分析网卡流量信息的工具,原生于Solaris,后来被移植到Linux上,官网地址https://blogs.oracle.com/timc/entry/nicstat_the_solaris_and_linux。 以下摘自官网: nicstat is to network interfaces as "

nicstat是一款分析网卡流量信息的工具,原生于Solaris,后来被移植到Linux上,官网地址https://blogs.oracle.com/timc/entry/nicstat_the_solaris_and_linux。

以下摘自官网:

nicstat is to network interfaces as "iostat" is to disks, or "prstat" is to processes. It is designed as a much better version of "netstat -i". Its differences include:

  • Reports bytes in & out as well as packets.

  • Normalizes these values to per-second rates.

  • Reports on all interfaces (while iterating)

  • Reports Utilization (rough calculation as of now)(Note:1.9.5 version could show both read and write utilization.)

  • Reports Saturation (also rough)

  • Prefixes statistics with the current time

nicstat对于分析网络接口的方法类似于iostat分析磁盘使用率,或者说类似于prstat分析进程信息,它比netstat -i更高级的地方在于:可以输出网卡速率,read/write 使用率,网卡的TCP, UDP信息。有人说那还不如用iptraf或者iftop呢,不一样都能查看网卡速率吗?nicstat强大的地方是可以以iostat的方式直接输出网卡使用率,而iftop,iptraf 只能跟踪单个网卡信息。

可以对比一下netstat -i 和 nicstat的输出数据:

性能调优之网络篇 - Nicstat 查看所有网卡流量信息_network

显而易见,nicstat的输出更人性化。


命令帮助信息:

# root at shanker in ~/nicstat-1.95 [3:00:43] # ./nicstat.sh -h  USAGE: nicstat [-hvnsxpztualMU] [-i int[,int...]]    [-S int:mbps[,int:mbps...]] [interval [count]]          -h                 # help          -v                 # show version (1.95)          -i interface       # track interface only          -n                 # show non-local interfaces only (exclude lo0)          -s                 # summary output          -x                 # extended output          -p                 # parseable output          -z                 # skip zero value lines          -t                 # show TCP statistics          -u                 # show UDP statistics          -a                 # equivalent to "-x -u -t"          -l                 # list interface(s)          -M                 # output in Mbits/sec          -U                 # separate %rUtil and %wUtil          -S int:mbps[fd|hd] # tell nicstat the interface                             # speed (Mbits/sec) and duplex     eg,        nicstat              # print summary since boot only        nicstat 1            # print every 1 second        nicstat 1 5          # print 5 times only        nicstat -z 1         # print every 1 second, skip zero lines        nicstat -i hme0 1    # print hme0 only every 1 second

下面介绍一下如何安装nicstat,这个软件是非标准的Linux软件,所有用apt-get或者yum的方式都没法安装,只能下载官网的源码编译安装。

下载地址:http://sourceforge.net/projects/nicstat/files/

我这里下载的是最新版的1.95,这个版本多了一个新功能是-U,将read 和write的使用率分开显示。

安装README.txt的信息尝试make,但是失败了,后来发现如果不编译,直接使用目录下面自带的shell也可以,方法如下:


因为nicstat是在32位系统上编译的,所以要安装32位的libc文件,如果使用的是Ubuntu系统:

sudo apt-get install libc6:i386 cd nicstat-1.95 ln -s .nicstat.Ubuntu_8_i386 .nicstat.Linux_i386    ln -s nicstat.sh nicstat


如果是Centos/RedHat 6 64Bit 系统:

sudo yum install glibc.i686  cd nicstat-1.95 ln -s .nicstat.Linux_i386  .nicstat.Linux_i386 ln -s nicstat.sh nicstat

这样就可以用nicstat来执行命令了。

性能调优之网络篇 - Nicstat 查看所有网卡流量信息_ performance_02

推荐大家将设置好的nicstat打包发送到github,以后使用的时候直接开包即用。


参考连接:

http://www.cyberciti.biz/hardware/linux-install-nicstat-command-to-print-network-statistics-for-nics/

http://blog.yufeng.info/archives/2518#more-2518


欢迎补充!

网友评论