Linux服务器上监控网络带宽的18个常用命令和工具( 二 )

  • $ sudo apt-get install iptraf iptraf-ng
  •  
    4. nethogs
    nethogs是一款小巧的"net top"工具,可以显示每个进程所使用的带宽,并对列表排序,将耗用带宽最多的进程排在最上面 。万一出现带宽使用突然激增的情况,用户迅速打开nethogs,就可以找到导致带宽使用激增的进程 。nethogs可以报告程序的进程编号(PID)、用户和路径 。
     
    1. $ sudo nethogs
     
    安装nethogs:Ubuntu、Debian和Fedora用户可以从默认软件库获得 。CentOS用户则需要Epel 。
     
    1. # ubuntu或debian(默认软件库)
    2. $ sudo apt-get install nethogs
    3. # fedora或centos(来自epel)
    4. $ sudo yum install nethogs -y
     
    5. bmon
    bmon(带宽监控器)是一款类似nload的工具,它可以显示系统上所有网络接口的流量负载 。输出结果还含有图表和剖面,附有数据包层面的详细信息 。
    安装bmon:Ubuntu、Debian和Fedora用户可以从默认软件库来安装 。CentOS用户则需要安装repoforge,因为Epel里面没有bmon 。
     
    1. # ubuntu或debian
    2. $ sudo apt-get install bmon
    3. # fedora或centos(来自repoforge)
    4. $ sudo yum install bmon
     
    bmon支持许多选项,能够制作html格式的报告 。欲知更多信息,请参阅参考手册页 。
    6. slurm
    slurm是另一款网络负载监控器,可以显示设备的统计信息,还能显示ASCII图形 。它支持三种不同类型的图形,使用c键、s键和l键即可激活每种图形 。slurm功能简单,无法显示关于网络负载的任何更进一步的详细信息 。
     
    1. $ slurm -s -i eth0
     
    安装slurm
     
    1. # debian或ubuntu
    2. $ sudo apt-get install slurm
    3. # fedora或centos
    4. $ sudo yum install slurm -y
     
    7. tcptrack
    tcptrack类似iftop,使用pcap库来捕获数据包,并计算各种统计信息,比如每个连接所使用的带宽 。它还支持标准的pcap过滤器,这些过滤器可用来监控特定的连接 。
    安装tcptrack:Ubuntu、Debian和Fedora在默认软件库里面就有它 。CentOS用户则需要从RepoForge获得它,因为Epel里面没有它 。
     
    1. # ubuntu, debian
    2. $ sudo apt-get install tcptrack
    3. # fedora, centos(来自repoforge软件库)
    4. $ sudo yum install tcptrack
     
    8. vnstat
    vnstat与另外大多数工具有点不一样 。它实际上运行后台服务/守护进程,始终不停地记录所传输数据的大小 。之外,它可以用来制作显示网络使用历史情况的报告 。
     
    1. $ service vnstat status
    2. * vnStat daemon is running
     
    运行没有任何选项的vnstat,只会显示自守护进程运行以来所传输的数据总量 。
     
    1. $ vnstat
    2. Database updated: Mon Mar 17 15:26:59 2014
    3. eth0 since 06/12/13
    4. rx: 135.14 GiB tx: 35.76 GiB total: 170.90 GiB
    5. monthly
    6. rx | tx | total | avg. rate
    7.  
    8.  
    9. Feb '14 8.19 GiB | 2.08 GiB | 10.27 GiB | 35.60 kbit/s
    10. Mar '14 4.98 GiB | 1.52 GiB | 6.50 GiB | 37.93 kbit/s
    11.  
    12. estimated 9.28 GiB | 2.83 GiB | 12.11 GiB |
    13. daily
    14. rx | tx | total | avg. rate
    15.  
    16. yesterday 236.11 MiB | 98.61 MiB | 334.72 MiB | 31.74 kbit/s
    17. today 128.55 MiB | 41.00 MiB | 169.56 MiB | 24.97 kbit/s
    18.  
    19. estimated 199 MiB | 63 MiB | 262 MiB |
     
    想实时监控带宽使用情况,请使用"-l"选项(实时模式) 。然后,它会显示入站数据和出站数据所使用的总带宽量,但非常精确地显示,没有关于主机连接或进程的任何内部详细信息 。
     
    1. $ vnstat -l -i eth0
    2. Monitoring eth0... (press CTRL-C to stop)
    3. rx: 12 kbit/s 10 p/s tx: 12 kbit/s 11 p/s
     
    vnstat更像是一款制作历史报告的工具,显示每天或过去一个月使用了多少带宽 。它并不是严格意义上的实时监控网络的工具 。
    vnstat支持许多选项,支持哪些选项方面的详细信息请参阅参考手册页 。


    推荐阅读