Linux服务器上监控网络带宽的18个常用命令和工具
ahcoder 2025-03-28 14:26 77 浏览
一、如何查看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
- Nload
nload是一个命令行工具,让用户可以分开来监控入站流量和出站流量。它还可以绘制图表以显示入站流量和出站流量,视图比例可以调整。用起来很简单,不支持许多选项。
所以,如果你只需要快速查看总带宽使用情况,无需每个进程的详细情况,那么nload用起来很方便。
- $ nload
安装nload:Fedora和Ubuntu在默认软件库里面就有nload。CentOS用户则需要从Epel软件库获得nload。
- # fedora或centos
- $ yum install nload -y
- # ubuntu/debian
- $ sudo apt-get install nload
2. iftop
iftop可测量通过每一个套接字连接传输的数据;它采用的工作方式有别于nload。iftop使用pcap库来捕获进出网络适配器的数据包,然后汇总数据包大小和数量,搞清楚总的带宽使用情况。
虽然iftop报告每个连接所使用的带宽,但它无法报告参与某个套按字连接的进程名称/编号(ID)。不过由于基于pcap库,iftop能够过滤流量,并报告由过滤器指定的所选定主机连接的带宽使用情况。
- $ sudo iftop -n
n选项可以防止iftop将IP地址解析成主机名,解析本身就会带来额外的网络流量。
安装iftop:Ubuntu/Debian/Fedora用户可以从默认软件库获得它。CentOS用户可以从Epel获得它。
- # fedora或centos
- yum install iftop -y
- # ubuntu或 debian
- $ sudo apt-get install iftop
3. iptraf
iptraf是一款交互式、色彩鲜艳的IP局域网监控工具。它可以显示每个连接以及主机之间传输的数据量。下面是屏幕截图。
- $ sudo iptraf
安装iptraf:
- # Centos(基本软件库)
- $ yum install iptraf
- # fedora或centos(带epel)
- $ yum install iptraf-ng -y
- # ubuntu或debian
- $ sudo apt-get install iptraf iptraf-ng
4. nethogs
nethogs是一款小巧的"net top"工具,可以显示每个进程所使用的带宽,并对列表排序,将耗用带宽最多的进程排在最上面。万一出现带宽使用突然激增的情况,用户迅速打开nethogs,就可以找到导致带宽使用激增的进程。nethogs可以报告程序的进程编号(PID)、用户和路径。
- $ sudo nethogs
安装nethogs:Ubuntu、Debian和Fedora用户可以从默认软件库获得。CentOS用户则需要Epel。
- # ubuntu或debian(默认软件库)
- $ sudo apt-get install nethogs
- # fedora或centos(来自epel)
- $ sudo yum install nethogs -y
5. bmon
bmon(带宽监控器)是一款类似nload的工具,它可以显示系统上所有网络接口的流量负载。输出结果还含有图表和剖面,附有数据包层面的详细信息。
安装bmon:Ubuntu、Debian和Fedora用户可以从默认软件库来安装。CentOS用户则需要安装repoforge,因为Epel里面没有bmon。
- # ubuntu或debian
- $ sudo apt-get install bmon
- # fedora或centos(来自repoforge)
- $ sudo yum install bmon
bmon支持许多选项,能够制作HTML格式的报告。欲知更多信息,请参阅参考手册页。
6. slurm
slurm是另一款网络负载监控器,可以显示设备的统计信息,还能显示ASCII图形。它支持三种不同类型的图形,使用c键、s键和l键即可激活每种图形。slurm功能简单,无法显示关于网络负载的任何更进一步的详细信息。
- $ slurm -s -i eth0
安装slurm
- # debian或ubuntu
- $ sudo apt-get install slurm
- # fedora或centos
- $ sudo yum install slurm -y
7. tcptrack
tcptrack类似iftop,使用pcap库来捕获数据包,并计算各种统计信息,比如每个连接所使用的带宽。它还支持标准的pcap过滤器,这些过滤器可用来监控特定的连接。
安装tcptrack:Ubuntu、Debian和Fedora在默认软件库里面就有它。CentOS用户则需要从RepoForge获得它,因为Epel里面没有它。
- # ubuntu, debian
- $ sudo apt-get install tcptrack
- # fedora, centos(来自repoforge软件库)
- $ sudo yum install tcptrack
8. vnstat
vnstat与另外大多数工具有点不一样。它实际上运行后台服务/守护进程,始终不停地记录所传输数据的大小。之外,它可以用来制作显示网络使用历史情况的报告。
- $ service vnstat status
- * vnStat daemon is running
运行没有任何选项的vnstat,只会显示自守护进程运行以来所传输的数据总量。
- $ vnstat
- Database updated: Mon Mar 17 15:26:59 2014
- eth0 since 06/12/13
- rx: 135.14 GiB tx: 35.76 GiB total: 170.90 GiB
- monthly
- rx | tx | total | avg. rate
- ------------------------+-------------+-------------+-------------
- Feb '14 8.19 GiB | 2.08 GiB | 10.27 GiB | 35.60 kbit/s
- Mar '14 4.98 GiB | 1.52 GiB | 6.50 GiB | 37.93 kbit/s
- ------------------------+-------------+-------------+-------------
- estimated 9.28 GiB | 2.83 GiB | 12.11 GiB |
- daily
- rx | tx | total | avg. rate
- ------------------------+-------------+-------------+-------------
- yesterday 236.11 MiB | 98.61 MiB | 334.72 MiB | 31.74 kbit/s
- today 128.55 MiB | 41.00 MiB | 169.56 MiB | 24.97 kbit/s
- ------------------------+-------------+-------------+-------------
- estimated 199 MiB | 63 MiB | 262 MiB |
想实时监控带宽使用情况,请使用"-l"选项(实时模式)。然后,它会显示入站数据和出站数据所使用的总带宽量,但非常精确地显示,没有关于主机连接或进程的任何内部详细信息。
- $ vnstat -l -i eth0
- Monitoring eth0... (press CTRL-C to stop)
- rx: 12 kbit/s 10 p/s tx: 12 kbit/s 11 p/s
vnstat更像是一款制作历史报告的工具,显示每天或过去一个月使用了多少带宽。它并不是严格意义上的实时监控网络的工具。
vnstat支持许多选项,支持哪些选项方面的详细信息请参阅参考手册页。
安装vnstat
- # ubuntu或debian
- $ sudo apt-get install vnstat
- # fedora或 centos(来自epel)
- $ sudo yum install vnstat
9. bwm-ng
bwm-ng(下一代带宽监控器)是另一款非常简单的实时网络负载监控工具,可以报告摘要信息,显示进出系统上所有可用网络接口的不同数据的传输速度。
- $ bwm-ng
- bwm-ng v0.6 (probing every 0.500s), press 'h' for help
- input: /proc/net/dev type: rate
- / iface Rx Tx T
- ot=================================================================
- == eth0: 0.53 KB/s 1.31 KB/s 1.84
- KB lo: 0.00 KB/s 0.00 KB/s 0.00
- KB-------------------------------------------------------------------------------------------------------------
- total: 0.53 KB/s 1.31 KB/s 1.84
- KB/s
如果控制台足够大,bwm-ng还能使用curses2输出模式,为流量绘制条形图。
- $ bwm-ng -o curses2
安装bwm-ng:在CentOS上,可以从Epel来安装bwm-ng。
- # ubuntu或debian
- $ sudo apt-get install bwm-ng
- # fedora或centos(来自epel)
- $ sudo apt-get install bwm-ng
10. cbm:Color Bandwidth Meter
这是一款小巧简单的带宽监控工具,可以显示通过诸网络接口的流量大小。没有进一步的选项,仅仅实时显示和更新流量的统计信息。
- $ sudo apt-get install cbm
11. speedometer
这是另一款小巧而简单的工具,仅仅绘制外观漂亮的图形,显示通过某个接口传输的入站流量和出站流量。
- $ speedometer -r eth0 -t eth0
安装speedometer
- # ubuntu或debian用户
- $ sudo apt-get install speedometer
12. pktstat
pktstat可以实时显示所有活动连接,并显示哪些数据通过这些活动连接传输的速度。它还可以显示连接类型,比如TCP连接或UDP连接;如果涉及HTTP连接,还会显示关于HTTP请求的详细信息。
- $ sudo pktstat -i eth0 -nt
- $ sudo apt-get install pktstat
13. netwatch
netwatch是netdiag工具库的一部分,它也可以显示本地主机与其他远程主机之间的连接,并显示哪些数据在每个连接上所传输的速度。
- $ sudo netwatch -e eth0 -nt
- $ sudo apt-get install netdiag
14. trafshow
与netwatch和pktstat一样,trafshow也可以报告当前活动连接、它们使用的协议以及每条连接上的数据传输速度。它能使用pcap类型过滤器,对连接进行过滤。
只监控TCP连接
- $ sudo trafshow -i eth0 tcp
- $ sudo apt-get install netdiag
15. netload
netload命令只显示关于当前流量负载的一份简短报告,并显示自程序启动以来所传输的总字节量。没有更多的功能特性。它是netdiag的一部分。
- $ netload eth0
- $ sudo apt-get install netdiag
16. ifstat
ifstat能够以批处理式模式显示网络带宽。输出采用的一种格式便于用户使用其他程序或实用工具来记入日志和分析。
- $ ifstat -t -i eth0 0.5
- Time eth0
- HH:MM:SS KB/s in KB/s out
- 09:59:21 2.62 2.80
- 09:59:22 2.10 1.78
- 09:59:22 2.67 1.84
- 09:59:23 2.06 1.98
- 09:59:23 1.73 1.79
安装ifstat:Ubuntu、Debian和Fedora用户在默认软件库里面就有它。CentOS用户则需要从Repoforge获得它,因为Epel里面没有它。
- # ubuntu, debian
- $ sudo apt-get install ifstat
- # fedora, centos(Repoforge)
- $ sudo yum install ifstat
17. dstat
dstat是一款用途广泛的工具(用python语言编写),它可以监控系统的不同统计信息,并使用批处理模式来报告,或者将相关数据记入到CSV或类似的文件。这个例子显示了如何使用dstat来报告网络带宽。
安装dstat
- $ dstat -nt
- -net/total- ----system----
- recv send| time
- 0 0 |23-03 10:27:13
- 1738B 1810B|23-03 10:27:14
- 2937B 2610B|23-03 10:27:15
- 2319B 2232B|23-03 10:27:16
- 2738B 2508B|23-03 10:27:17
18. collectl
collectl以一种类似dstat的格式报告系统的统计信息;与dstat一样,它也收集关于系统不同资源(如处理器、内存和网络等)的统计信息。这里给出的一个简单例子显示了如何使用collectl来报告网络使用/带宽。
- $ collectl -sn -oT -i0.5
- waiting for 0.5 second sample...
- # <----------Network---------->
- #Time KBIn PktIn KBOut PktOut
- 10:32:01 40 58 43 66
- 10:32:01 27 58 3 32
- 10:32:02 3 28 9 44
- 10:32:02 5 42 96 96
- 10:32:03 5 48 3 28
安装collectl
- # Ubuntu/Debian用户
- $ sudo apt-get install collectl
- #Fedora
- $ 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
相关推荐
- KaOS 2025.05版本发布:全面拥抱Qt6,彻底告别Qt5
-
KaOSLinux2025.05版本重磅发布:全面拥抱Qt6,开启KDE生态新篇章继2025.03版本发布两个月后,专注于KDE桌面环境、采用XFS文件系统的滚动发行版Li...
- 基于FIMC接口的CMOS摄像头驱动分析与设计
-
摘要:目前的嵌入式系统中,USB摄像头使用比较普遍,但其应用会受到传输速度的限制。本文采用一款高速CMOS摄像头,其驱动利用S3C6410内置的FIMC接口技术,采用DMA和ping-pong缓冲...
- 没错是微软 推出基于Linux的交换机系统
-
2015-09-2205:59:59作者:郑伟你没看错,为了提升自身Azure云数据中心内网络设备的兼容性及开放性,微软也开始推出基于Linux的网络交换机系统了。这个被称为AzureCloud...
- Linus Torvalds 宣布首个 Linux 内核 6.16 候选版本
-
Linux内核负责人兼创始人LinusTorvalds宣布关闭合并窗口,该窗口用于将主要新功能添加到内核中,并开始发布Linux6.16候选版本,从候选版本1(Linux6.16-r...
- Linux内核漏洞将影响Haswell架构服务器
-
在infoq网站上,GilTene最近报告一个十分重要,但并不为人知Linux内核补丁,特别对采用Haswell架构的Linux系统用户和管理员应该特别关注。报告提醒RedHat发行版的用户(包括...
- 关于Linux性能调优中网络I/O的一些笔记
-
写在前面和小伙伴分享一些Linux网络优化的笔记,内容很浅,可以用作入门博文内容结合《Linux性能优化》读书笔记整理涉及内容包括常用的优化工具(mii-tool,ethtool,ifconfig,i...
- 国产操作系统- Veket Linux(国产操作系统之光银河麒麟阅读理解)
-
VeketLinux是一个随身的可装在U盘的Linux操作系统。主要面向桌面用户。它的设计重点是提供简单易用且稳定的操作系统,同时保持更新和开发。它具有强大的功能集和广泛的用户基础,可满足...
- AlmaLinux 9.6发布:升级工具、初步支持IBM Power虚拟化技术
-
IT之家5月21日消息,科技媒体linuxiac昨日(5月20日)发布博文,报道称代号为SageMargay的AlmaLinux9.6发行版已上线,距上一版本9.5发...
- 跟老韩学Linux运维架构师系列,vim与view的基本使用
-
下面是vim和view的10个实例:用vim打开一个新文件:vimnewfile.txt这个命令将会在vim编辑器中打开一个新文件。在vim中移动光标:使用方向键或h、j、k、l键来移动光标。在v...
- malloc底层原理剖析——ptmalloc内存池
-
malloc底层为什么是内存池malloc大家都用过,其是库函数。我们都知道库函数在不同的操作系统中其实执行的是系统调用,那么malloc在Linux上执行的是哪个系统调用呢?brk()和mmap()...
- Zen 6架构首秀Linux,AMD加速下一代处理器布局
-
IT之家5月15日消息,科技媒体Phoronix昨日(5月14日)发布博文,报道称AMD已经开始为下一代“Zen6”处理器做准备,已为该构架向Linux内核提交了首个补丁,...
- 为何越来越多企业转向安卓/Linux工业平板电脑?答案在这里
-
在工业领域,设备的稳定性至关重要,尤其是工业平板电脑,常年运行在高温、粉尘、潮湿等复杂环境下,一旦系统崩溃或者卡顿,可能会影响整个生产流程。那么,为什么越来越多的企业选择安卓/Linux工业平板电脑,...
- 从3ms到0.8ms:ARM+Linux如何重塑工业控制实时性标杆
-
在智能制造领域,产线控制系统对实时性的要求越来越高。根据行业调研数据,超过65%的工业现场出现过因系统响应延迟导致的故障停机,平均每次停机造成的直接损失高达2-8万元。传统x86架构搭配Windows...
- 看Linux如何"挖坑种树"
-
写在前面,有人看我的Linux文章说技术难度不深,笔者不是不想写深,笔者是觉得Linux难就难在入门,入门之后你就知道如何上网查询你所要要解决的Linux需求。如果你已入门,此文已对你无用,请略过此...
- AlmaLinux 9.6 发布,新增功能亮点纷呈!
-
距离上一版本AlmaLinux9.5发布六个月后,基于5.14内核的AlmaLinux正式宣布其企业级Linux发行版的9.x系列第六个更新——AlmaLinux9.6(Sag...
- 一周热门
- 最近发表
-
- KaOS 2025.05版本发布:全面拥抱Qt6,彻底告别Qt5
- 基于FIMC接口的CMOS摄像头驱动分析与设计
- 没错是微软 推出基于Linux的交换机系统
- Linus Torvalds 宣布首个 Linux 内核 6.16 候选版本
- Linux内核漏洞将影响Haswell架构服务器
- 关于Linux性能调优中网络I/O的一些笔记
- 国产操作系统- Veket Linux(国产操作系统之光银河麒麟阅读理解)
- AlmaLinux 9.6发布:升级工具、初步支持IBM Power虚拟化技术
- 跟老韩学Linux运维架构师系列,vim与view的基本使用
- malloc底层原理剖析——ptmalloc内存池
- 标签列表
-
- linux 远程 (37)
- u盘 linux (32)
- linux 登录 (34)
- linux 路径 (33)
- linux 文件命令 (35)
- linux 是什么 (35)
- linux 界面 (34)
- 查看文件 linux (35)
- linux 语言 (33)
- linux代码 (32)
- linux 查看命令 (33)
- 关闭linux (34)
- root linux (33)
- 删除文件 linux (35)
- linux 主机 (34)
- linux与 (33)
- linux 函数 (35)
- linux .ssh (35)
- cpu linux (35)
- 查看linux 系统 (32)
- linux 防火墙 (33)
- linux 手机 (32)
- linux 镜像 (34)
- linux ip地址 (34)
- linux 用户查看 (33)