百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 文章教程 > 正文

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

yund56 2025-04-23 17:38 9 浏览

一、如何查看CentOS的网络带宽出口

检查维护系统的时候,经常会要查看服务器的网络端口是多大的,所以需要用到Linux的一个命令。

如何查看CentOS的网络带宽出口多大?可以用下面的命令来查看。


# ethtool eth0

前面是命令,后面跟的是设备名,如果对外连接的网络设备是eth1,那就需要改成:ethtool eth0

[root@localhost ~]# ethtool eth0

Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
MDI-X: Unknown
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes


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


本文介绍了一些可以用来监控网络使用情况的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. Feb '14 8.19 GiB | 2.08 GiB | 10.27 GiB | 35.60 kbit/s
  9. Mar '14 4.98 GiB | 1.52 GiB | 6.50 GiB | 37.93 kbit/s
  10. ------------------------+-------------+-------------+-------------
  11. estimated 9.28 GiB | 2.83 GiB | 12.11 GiB |
  12. daily
  13. rx | tx | total | avg. rate
  14. ------------------------+-------------+-------------+-------------
  15. yesterday 236.11 MiB | 98.61 MiB | 334.72 MiB | 31.74 kbit/s
  16. today 128.55 MiB | 41.00 MiB | 169.56 MiB | 24.97 kbit/s
  17. ------------------------+-------------+-------------+-------------
  18. 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,它们提供了一批功能特性,不仅仅可以监控服务器,还能监控整个基础设施

大带宽服务器BGP IP:

140.210.20.1

140.210.20.2

140.210.20.3

140.210.20.4

140.210.20.5

140.210.20.6

140.210.20.7

140.210.20.8

140.210.20.9

140.210.20.10

140.210.20.11

140.210.20.12

140.210.20.13

140.210.20.14

140.210.20.15

140.210.20.16

140.210.20.17

140.210.20.18

140.210.20.19

140.210.20.20

140.210.20.21

140.210.20.22

140.210.20.23

140.210.20.24

140.210.20.25

140.210.20.26

140.210.20.27

140.210.20.28

140.210.20.29

140.210.20.30

140.210.20.31

140.210.20.32

140.210.20.33

140.210.20.34

140.210.20.35

140.210.20.36

140.210.20.37

140.210.20.38

140.210.20.39

140.210.20.40

140.210.20.41

140.210.20.42

140.210.20.43

140.210.20.44

140.210.20.45

140.210.20.46

140.210.20.47

140.210.20.48

140.210.20.49

140.210.20.50

140.210.20.51

140.210.20.52

140.210.20.53

140.210.20.54

140.210.20.55

140.210.20.56

140.210.20.57

140.210.20.58

140.210.20.59

140.210.20.60

140.210.20.61

140.210.20.62

140.210.20.63

140.210.20.64

140.210.20.65

140.210.20.66

140.210.20.67

140.210.20.68

140.210.20.69

140.210.20.70

140.210.20.71

140.210.20.72

140.210.20.73

140.210.20.74

140.210.20.75

140.210.20.76

140.210.20.77

140.210.20.78

140.210.20.79

140.210.20.80

140.210.20.81

140.210.20.82

140.210.20.83

140.210.20.84

140.210.20.85

140.210.20.86

140.210.20.87

140.210.20.88

140.210.20.89

140.210.20.90

140.210.20.91

140.210.20.92

140.210.20.93

140.210.20.94

140.210.20.95

140.210.20.96

140.210.20.97

140.210.20.98

140.210.20.99

140.210.20.100

140.210.20.101

140.210.20.102

140.210.20.103

140.210.20.104

140.210.20.105

140.210.20.106

140.210.20.107

140.210.20.108

140.210.20.109

140.210.20.110

140.210.20.111

140.210.20.112

140.210.20.113

140.210.20.114

140.210.20.115

140.210.20.116

140.210.20.117

140.210.20.118

140.210.20.119

140.210.20.120

140.210.20.121

140.210.20.122

140.210.20.123

140.210.20.124

140.210.20.125

140.210.20.126

140.210.20.127

140.210.20.128

140.210.20.129

140.210.20.130

140.210.20.131

140.210.20.132

140.210.20.133

140.210.20.134

140.210.20.135

140.210.20.136

140.210.20.137

140.210.20.138

140.210.20.139

140.210.20.140

140.210.20.141

140.210.20.142

140.210.20.143

140.210.20.144

140.210.20.145

140.210.20.146

140.210.20.147

140.210.20.148

140.210.20.149

140.210.20.150

140.210.20.151

140.210.20.152

140.210.20.153

140.210.20.154

140.210.20.155

140.210.20.156

140.210.20.157

140.210.20.158

140.210.20.159

140.210.20.160

140.210.20.161

140.210.20.162

140.210.20.163

140.210.20.164

140.210.20.165

140.210.20.166

140.210.20.167

140.210.20.168

140.210.20.169

140.210.20.170

140.210.20.171

140.210.20.172

140.210.20.173

140.210.20.174

140.210.20.175

140.210.20.176

140.210.20.177

140.210.20.178

140.210.20.179

140.210.20.180

140.210.20.181

140.210.20.182

140.210.20.183

140.210.20.184

140.210.20.185

140.210.20.186

140.210.20.187

140.210.20.188

140.210.20.189

140.210.20.190

140.210.20.191

140.210.20.192

140.210.20.193

140.210.20.194

140.210.20.195

140.210.20.196

140.210.20.197

140.210.20.198

140.210.20.199

140.210.20.200

140.210.20.201

140.210.20.202

140.210.20.203

140.210.20.204

140.210.20.205

140.210.20.206

140.210.20.207

140.210.20.208

140.210.20.209

140.210.20.210

140.210.20.211

140.210.20.212

140.210.20.213

140.210.20.214

140.210.20.215

140.210.20.216

140.210.20.217

140.210.20.218

140.210.20.219

140.210.20.220

140.210.20.221

140.210.20.222

140.210.20.223

140.210.20.224

140.210.20.225

140.210.20.226

140.210.20.227

140.210.20.228

140.210.20.229

140.210.20.230

140.210.20.231

140.210.20.232

140.210.20.233

140.210.20.234

140.210.20.235

140.210.20.236

140.210.20.237

140.210.20.238

140.210.20.239

140.210.20.240

140.210.20.241

140.210.20.242

140.210.20.243

140.210.20.244

140.210.20.245

140.210.20.246

140.210.20.247

140.210.20.248

140.210.20.249

140.210.20.250

140.210.20.251

140.210.20.252

140.210.20.253

140.210.20.254

140.210.20.255

相关推荐

七夕前学起来,程序员的浪漫:三十行代码实现用她的名字作幅画

hello,各位小伙伴们大家早上|中文|晚上|凌晨好,相信看这篇文章的有很多新朋友,估计也有少量的老朋友,首先做个简短的自我介绍,我是一灰灰,码农界的资深搬运工;今天呢,没有站在我身边的捧哏老师,那就...

127.手摇计算机的收藏(我的民间收藏笔记)

1970年代前后,我国生产的手摇计算机,主要有上海飞鱼牌和通用牌手摇计算机,天津文化牌手摇计算机。这几种手摇计算机的收藏价,目前很不统一。品相好又能使用的收藏价大概为1500—7000元。品相不好又...

计算机毕业设计Hadoop+Hive+PySpark小说推荐系统 小说可视化

基于Spark+hadoop大数据小说数据分析推荐系统(完整系统源码+数据库+开发笔记+详细部署教程+虚拟机分布式启动教程)直拍源码包部署爬虫可用基于用户协同过滤算法开发技术介绍编辑器:Pychar...

win7系统exe病毒文件夹怎么删除

Win7系统中exe病毒文件夹如何删除?下面为大家提供解决办法,快来了解吧!1、按下Win+R快捷键,输入gpedit.msc,所示,即可打开组策略编辑器。2、依次展开计算机配置下的管理模板,进入...

Windows 10 网络搜索设计太反人类?教你如何彻底关闭它

来源:太平洋电脑网我们知道微软在Windows10中,特别加强了系统的搜索功能,但Windows10的搜索的确很难称得上好用。抛开效率低下、呈现结果少、造成系统卡顿等老生常谈的问题不论,在功能设计...

win7系统exe病毒文件夹怎么删除?

经常遇到病毒文件夹,它们通常是带有exe后缀的文件夹名称,双击后会复制病毒。今天就教大家如何删除这些病毒文件夹。1、打开开始菜单,点击运行按钮;或者按下Win+R键,即可开启运行对话框。2、运行窗...

通过代码编写电脑关机程序

大家好,我是Anyday这期给大家分享的电脑小知识是通过代码编写程序进行关机。首先在桌面右键新建一个文本文档双击打开新建文档,在里面输入shutdown–s–t0,这就是我们上一期的关机代码(聪...

可视化程序设计必备书:从零开始Qt可视化程序设计

“可视化程序设计”是理工科极为重要的一门专业课程,实践性很强。其教学目标是使学生掌握可视化程序设计的基本方法、编程技能并具备上机调试能力,熟悉界面设计,掌握各种常用类(有些开发工具称控件,实...

重要通知!25年公务员专业参考目录已出!

大家关心的2025年江苏省公务员考试消息有了!一年一度江苏省公开征求对《江苏省2025年度考试录用公务员专业参考目录》的意见和建议公告出了!各地的公务员专业参考目录其实都查不多,江苏针对今年的具体情况...

计算机二级考试中的一些注意事项

科教武汉【计算机二级考试中的一些注意事项】1、要合理安排做题时间可以先通过观察整个题目的题形,判断整个试卷的难点,通过观察题型然后确定自己的应对策。选择题建议用时15-20分钟为好。自己要有一个时间...

天津专升本计算机知识点 选定文件和文件夹

在Windows7系统中,进行选定,包括多种,考试重点内容有三种。①选定多个连续的文件或文件夹,可用Shift键配合鼠标进行选定②选定多个不连续的文件或文件夹,可用Ctrl键配合鼠标进行选定③撤销某...

最新发布!四川这些岗位急需紧缺人才

12月17日,《四川省人力资源服务业急需紧缺人才目录》发布。据介绍,《四川省人力资源服务业急需紧缺人才目录》采集600余家用人单位信息,调查整理了40余家用人单位需求,从收集的上千条岗位信息中分析出3...

最新!普通高等学校本科专业目录(2024年)!共816种本科专业

高考成绩已定,目前最重要的,就是填报高考志愿了!!!(点击查看:广西2024高考分数线、一分一档表公布!今天开始填志愿!附前3年高考分数线、一分一档表)除了要在1308所本科大学中选出自己(孩子)喜欢...

cad文件夹加密

我学计算机辅助设计,常用CAD绘制图纸并存入文件夹。有时担心关机后设计被窃,便在网上寻找解决办法,最终找到了一种加密CAD文件夹的实用方法,有效保护了我的设计成果。1、首先,我们需要安装一款保护文件...

文件夹加密大师使用方法:快速加密文件指南

不想让他人看到私密文件?以下几种隐藏文件的方法各有优缺点,快来看看哪种最适合你!1、隐藏的文件夹2、首先,右击文件夹选择属性,在常规选项卡勾选隐藏,然后点击确定。3、若文件夹为隐藏状态,打开我的...