Linux服务器上监控网络带宽的18个常用命令

本文介绍了一些可以用来监控网络使用情况的Linux命令行工具。这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度。入站流量和出站流量分开来显示。

作者:布加迪编译来源:51CTO.com|2014-04-11 10:10
移动端
收藏
分享

 

【51CTO精选译文】本文介绍了一些可以用来监控网络使用情况的Linux命令行工具。这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度。入站流量和出站流量分开来显示。

一些命令可以显示单个进程所使用的带宽。这样一来,用户很容易发现过度使用网络带宽的某个进程。

这些工具使用不同的机制来制作流量报告。nload等一些工具可以读取"proc/net/dev"文件,以获得流量统计信息;而一些工具使用pcap库来捕获所有数据包,然后计算总数据量,从而估计流量负载。

下面是按功能划分的命令名称。

  • 监控总体带宽使用――nload、bmon、slurm、bwm-ng、cbm、speedometer和netload
  • 监控总体带宽使用(批量式输出)――vnstat、ifstat、dstat和collectl
  • 每个套接字连接的带宽使用――iftop、iptraf、tcptrack、pktstat、netwatch和trafshow
  • 每个进程的带宽使用――nethogs

1. nload

nload是一个命令行工具,让用户可以分开来监控入站流量和出站流量。它还可以绘制图表以显示入站流量和出站流量,视图比例可以调整。用起来很简单,不支持许多选项。

所以,如果你只需要快速查看总带宽使用情况,无需每个进程的详细情况,那么nload用起来很方便。

  1. $ nload 

安装nload:Fedora和Ubuntu在默认软件库里面就有nload。CentOS用户则需要从Epel软件库获得nload。

  1. # fedora或centos 
  2. $ yum install nload -y 
  3. # ubuntu/debian 
  4. $ sudo apt-get install nload 

2. iftop

iftop可测量通过每一个套接字连接传输的数据;它采用的工作方式有别于nload。iftop使用pcap库来捕获进出网络适配器的数据包,然后汇总数据包大小和数量,搞清楚总的带宽使用情况。

虽然iftop报告每个连接所使用的带宽,但它无法报告参与某个套按字连接的进程名称/编号(ID)。不过由于基于pcap库,iftop能够过滤流量,并报告由过滤器指定的所选定主机连接的带宽使用情况。

  1. $ sudo iftop -n 

n选项可以防止iftop将IP地址解析成主机名,解析本身就会带来额外的网络流量。

安装iftop:Ubuntu/Debian/Fedora用户可以从默认软件库获得它。CentOS用户可以从Epel获得它。

  1. # fedora或centos 
  2. yum install iftop -y 
  3. # ubuntu或 debian 
  4. $ sudo apt-get install iftop 

3. iptraf

iptraf是一款交互式、色彩鲜艳的IP局域网监控工具。它可以显示每个连接以及主机之间传输的数据量。下面是屏幕截图。

  1. $ sudo iptraf 

安装iptraf:

  1. # Centos(基本软件库) 
  2. $ yum install iptraf 
  3. # fedora或centos(带epel) 
  4. $ yum install iptraf-ng -y 
  5. # ubuntu或debian 
  6. $ 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支持许多选项,支持哪些选项方面的详细信息请参阅参考手册页。

安装vnstat

  1. # ubuntu或debian 
  2. $ sudo apt-get install vnstat 
  3. # fedora或 centos(来自epel) 
  4. $ sudo yum install vnstat 

9. bwm-ng

bwm-ng(下一代带宽监控器)是另一款非常简单的实时网络负载监控工具,可以报告摘要信息,显示进出系统上所有可用网络接口的不同数据的传输速度。

  1. $ bwm-ng 
  2. bwm-ng v0.6 (probing every 0.500s), press 'h' for help 
  3. input: /proc/net/dev type: rate 
  4. /         iface                   Rx                   Tx                T 
  5. ot================================================================= 
  6. ==           eth0:           0.53 KB/s            1.31 KB/s            1.84 
  7. KB             lo:           0.00 KB/s            0.00 KB/s            0.00 
  8. KB------------------------------------------------------------------------------------------------------------- 
  9. total:           0.53 KB/s            1.31 KB/s            1.84 
  10. KB/s 

如果控制台足够大,bwm-ng还能使用curses2输出模式,为流量绘制条形图。

  1. $ bwm-ng -o curses2 

安装bwm-ng:在CentOS上,可以从Epel来安装bwm-ng。

  1. # ubuntu或debian 
  2. $ sudo apt-get install bwm-ng 
  3. # fedora或centos(来自epel) 
  4. $ sudo apt-get install bwm-ng 

10. cbm:Color Bandwidth Meter

这是一款小巧简单的带宽监控工具,可以显示通过诸网络接口的流量大小。没有进一步的选项,仅仅实时显示和更新流量的统计信息。

  1. $ sudo apt-get install cbm 

11. speedometer

这是另一款小巧而简单的工具,仅仅绘制外观漂亮的图形,显示通过某个接口传输的入站流量和出站流量。

  1. $ speedometer -r eth0 -t eth0 

安装speedometer

  1. # ubuntu或debian用户 
  2. $ sudo apt-get install speedometer 

12. pktstat

pktstat可以实时显示所有活动连接,并显示哪些数据通过这些活动连接传输的速度。它还可以显示连接类型,比如TCP连接或UDP连接;如果涉及HTTP连接,还会显示关于HTTP请求的详细信息。

  1. $ sudo pktstat -i eth0 -nt 
  2. $ sudo apt-get install pktstat 

13. netwatch

netwatch是netdiag工具库的一部分,它也可以显示本地主机与其他远程主机之间的连接,并显示哪些数据在每个连接上所传输的速度。

  1. $ sudo netwatch -e eth0 -nt 
  2. $ sudo apt-get install netdiag 

14. trafshow

与netwatch和pktstat一样,trafshow也可以报告当前活动连接、它们使用的协议以及每条连接上的数据传输速度。它能使用pcap类型过滤器,对连接进行过滤。

只监控TCP连接

  1. $ sudo trafshow -i eth0 tcp 
  2. $ sudo apt-get install netdiag 

15. netload

netload命令只显示关于当前流量负载的一份简短报告,并显示自程序启动以来所传输的总字节量。没有更多的功能特性。它是netdiag的一部分。

  1. $ netload eth0 
  2. $ sudo apt-get install netdiag 

16. ifstat

ifstat能够以批处理式模式显示网络带宽。输出采用的一种格式便于用户使用其他程序或实用工具来记入日志和分析。

  1. $ ifstat -t -i eth0 0.5 
  2. Time           eth0 
  3. HH:MM:SS   KB/s in  KB/s out 
  4. 09:59:21       2.62      2.80 
  5. 09:59:22       2.10      1.78 
  6. 09:59:22       2.67      1.84 
  7. 09:59:23       2.06      1.98 
  8. 09:59:23       1.73      1.79 

安装ifstat:Ubuntu、Debian和Fedora用户在默认软件库里面就有它。CentOS用户则需要从Repoforge获得它,因为Epel里面没有它。

  1. # ubuntu, debian 
  2. $ sudo apt-get install ifstat 
  3. # fedora, centos(Repoforge) 
  4. $ sudo yum install ifstat 

17. dstat

dstat是一款用途广泛的工具(用python语言编写),它可以监控系统的不同统计信息,并使用批处理模式来报告,或者将相关数据记入到CSV或类似的文件。这个例子显示了如何使用dstat来报告网络带宽。

安装dstat

  1. $ dstat -nt 
  2. -net/total- ----system---- 
  3. recv  send|     time 
  4. 0     0 |23-03 10:27:13 
  5. 1738B 1810B|23-03 10:27:14 
  6. 2937B 2610B|23-03 10:27:15 
  7. 2319B 2232B|23-03 10:27:16 
  8. 2738B 2508B|23-03 10:27:17 

18. collectl

collectl以一种类似dstat的格式报告系统的统计信息;与dstat一样,它也收集关于系统不同资源(如处理器、内存和网络等)的统计信息。这里给出的一个简单例子显示了如何使用collectl来报告网络使用/带宽。

  1. $ collectl -sn -oT -i0.5 
  2. waiting for 0.5 second sample... 
  3. #         <----------Network----------
  4. #Time       KBIn  PktIn  KBOut  PktOut 
  5. 10:32:01      40     58     43      66 
  6. 10:32:01      27     58      3      32 
  7. 10:32:02       3     28      9      44 
  8. 10:32:02       5     42     96      96 
  9. 10:32:03       5     48      3      28 

安装collectl

  1. # Ubuntu/Debian用户 
  2. $ sudo apt-get install collectl 
  3. #Fedora 
  4. $ sudo yum install collectl 

结束语

上述几个使用方便的命令可以迅速检查Linux服务器上的网络带宽使用情况。不过,这些命令需要用户通过SSH登录到远程服务器。另外,基于Web的监控工具也可以用来实现同样的任务。

ntop和darkstat是面向Linux系统的其中两个基本的基于Web的网络监控工具。除此之外还有企业级监控工具,比如nagios,它们提供了一批功能特性,不仅仅可以监控服务器,还能监控整个基础设施。

原文链接:http://www.binarytides.com/linux-commands-monitor-network/

http://os.51cto.com/art/201404/435279.htm

转载于:https://www.cnblogs.com/fatt/p/6638252.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/259315.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[转]Windows Phone 7程序设计”完全版电子书可以免费下载了

本文转自&#xff1a;http://www.cnblogs.com/salam/archive/2010/10/29/1864246.html 现在学习Windows Phone 7开发资料十分有限&#xff0c;除了MSDN的官方开发文档外和一些博客外&#xff0c;几无其他的学习渠道。幸运地是美国的资深程序员兼作家Charles Petzold为大家免费放…

linux-redhat替换yum网络源为centos网络源

2019独角兽企业重金招聘Python工程师标准>>> 1.为什么要替换 redhat系统使用yum命令安装软件时会出现This system is not registered with RHN. RHN support will be disabled. 原因是redhat的yum安装软件需要注册&#xff0c;是收费的。而centos的yum源是免费的。这…

计算机如何打开无线网络适配器,win7系统下网络适配器打不开怎么解决

通常情况下我们的电脑中都会有一个网络适配器&#xff0c;这是计算机联网的设备&#xff0c;不过最近有深度技术win7旗舰版系统用户却遇到了网络适配器打不开的情况&#xff0c;该怎么办呢&#xff0c;接下来系统城小编就给大家分享一下win7系统下网络适配器打不开的具体解决方…

【Intellij Idea】设置JDK

1&#xff0c;File-->Project Structure 说明&#xff1a;可以设置整个工程的JDK&#xff0c;也设置每个modules的JDK,但是一般整个工程的JDK. 2&#xff0c;或者通过快捷键&#xff1a;ctrlaltshifts 转载于:https://www.cnblogs.com/august-shi/p/6655469.html

绘图用计算机配置要求,绘图笔记本电脑基本配置要求 绘图笔记本推荐

现在很多工业图、工程图都需要用电脑来话&#xff0c;比如CAD、PS、三维画图这些软件对电脑的配置要求还是比较高的&#xff0c;还有一些对色彩要求高的动画软件&#xff0c;那就更加需要配置了&#xff0c;下面小编就来简单说说绘图笔记本电脑最基本的配置要求以及绘图笔记本推…

计算机无法正常更新,无法完成更新正在撤销更改请不要关闭你的计算机如何修复...

我们电脑开机的时候可能会遇到各种问题&#xff0c;比如就有用户发现电脑开机的时候&#xff0c;一直提示无法完成更新正在撤销更改请不要关闭你的计算机&#xff0c;等待了很长时间也进不去系统&#xff0c;遇到这样的问题该怎么办呢&#xff1f;不用担心小编给大家支招&#…

自媒体和计算机相关吗,做自媒体,台式电脑跟笔记本电脑用哪个好呢?

四阿哥fly回答数&#xff1a;143 | 被采纳数&#xff1a;162019-06-29 12:16:21作为去年折腾了一年自媒体&#xff0c;各种情况遇到过&#xff0c;分享下台式电脑和笔记本到底哪个好&#xff1f;好在哪里&#xff1f;如果真的要选择&#xff0c;个人还是推荐用台式比较好。工…

React进阶—性能优化

React性能优化思路 软件的性能优化思路就像生活中去看病&#xff0c;大致是这样的&#xff1a; 使用工具来分析性能瓶颈&#xff08;找病根&#xff09;尝试使用优化技巧解决这些问题&#xff08;服药&#xff09;使用工具测试性能是否确实有提升&#xff08;疗效确认&#xff…

Supervised Descent Method and its Applications to Face Alignment

广播说明&#xff1a; 进入深度学习时代&#xff0c;如下的方法已经失去可比性&#xff0c;且我们的代码实现地很粗糙&#xff0c;如果坚持要用&#xff0c;推荐如下代码 https://github.com/wanglin193/SupervisedDescentMethod &#xff08;看起来作者对sdm实现的不错&…

国外计算机课程lab,计算机系统实验之bomblab

今天刚刚验收CSAPP实验3&#xff0c;趁着余温&#xff0c;记录一下这个实验&#xff0c;顺便回顾下CSAPP课程的相关知识。实验目的1.使用gdb工具反汇编出汇编代码&#xff0c;结合c语言文件找到每个关卡的入口函数。然后分析汇编代码&#xff0c;分析得到每一关的通关密码。2.熟…

SDM For Face Alignment 流程介绍及Matlab代码实现之预处理篇

SDM全称为 Supervised Descent Method&#xff0c;是一种机器学习的方法&#xff0c;可以被用来做Face Alignment. 下面我们将通过matlab代码来梳理整个实现的过程。 预处理阶段 Input&#xff1a; ../data/lfpw/trainset &#xff08;811张图片&#xff09; Output: mean_…

分享25个新鲜出炉的 Photoshop 高级教程

网络上众多优秀的 Photoshop 实例教程是提高 Photoshop 技能的最佳学习途径。今天&#xff0c;我向大家分享25个新鲜出炉的 Photoshop 高级教程&#xff0c;提高你的设计技巧&#xff0c;制作时尚的图片效果。这些教程可以帮助把你的想法变成现实&#xff0c;并创造新的东西。 …

SDM For Face Alignment 流程介绍及Matlab代码实现之训练篇

SDM 训练阶段的任务如下&#xff1a; 载入标准化的数据&#xff08;包括400*400的正脸及特征点&#xff09;对每一张标准化的图片&#xff0c;模拟人脸检测仪&#xff0c;产生10个扰动的人脸框及相应的初始特征点x0。求解Δx,Φ,其中Δxx∗−x0,x∗表示true shape,Φ表示每个特…

Hibernate5-多对1(n:1)-fetch=join

1.创建项目,项目名称hibernatedemo26,目录结构如图所示2.在项目中创建lib目录存储jar文件,目录结构如图所示3.在src目录中创建实体类Forum,包名(com.mycompany.demo.bean),如图所示4.实体类Forum的内容如下package com.mycompany.demo.bean;import java.util.Set;public class …

如何使用固定二级子域名公网访问多个本地Windows Web网站

文章目录 1. 下载windows版Nginx2. 配置Nginx3. 测试局域网访问4. cpolar内网穿透5. 测试公网访问6. 配置固定二级子域名7. 测试访问公网固定二级子域名 1. 下载windows版Nginx 进入官方网站(http://nginx.org/en/download.html)下载windows版的nginx 下载好后解压进入nginx目…

实验 6 数组1

//输入n个整数&#xff0c;将它们存入数组a中。输出最大值和它所对应的下标。 #include<stdio.h> int main(void) {int n,i,x;int a[10];x0;printf("enter n:");scanf("%d",&n);for(i0;i<n;i){printf("enter :");scanf("%d&qu…

初中计算机职称答辩,晋升中学语文高级教师职称答辩内容举例

晋升中学语文高级教师职称答辩内容举例 晋升中学语文高级教师职称答辩秘籍 最重要的一点&#xff1a;你要对课本上的重点篇目非常熟悉&#xff01;对于现代文来说作者、题材、课文重点、重点句子词语、中心思想等你都要明了。对于文言文来说&#xff0c;要求学生掌握的&#xf…

SDM For Face Alignment流程介绍及Matlab代码实现之测试篇

测试很简单了&#xff0c;只需要载入数据&#xff0c;然后做正则化处理&#xff0c;使用训练模型产生的{Rk},就可以预测特征点了。 face_alignment.m:用来预测特征点 function shape face_alignment( ShapeModel, DataVariation,...LearnedCascadedModel, Data, img, shape,…

计算机类公务员如何提升自己,大学毕业才发现:所学专业对考公务员如此重要,4类专业上岸率高...

导语&#xff1a;毕业季来临&#xff0c;同学们是想直接找工作积累工作经验&#xff0c;还是继续考取相关证书&#xff0c;来获得更稳定职业的入场券&#xff1f;毕业抉择很多毕业生面临的第一个问题就是未来职业规划&#xff0c;因为大学毕业之后&#xff0c;就意味着一段新的…

UVA 11401 - Triangle Counting

Problem G Triangle Counting Input: Standard Input Output: Standard Output You are given n rods of length 1, 2…, n. You have to pick any 3 of them & build a triangle. How many distinct triangles can you make? Note that, two triangles will be considere…