Linux服务器上监控网络带宽的18个常用命令和工具
sinye56 2024-11-13 12:32 6 浏览 0 评论
一、如何查看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
相关推荐
- Linux两种光驱自动挂载的方法
-
环境:CentOS6.4西昆云服务器方式一修改fstab文件/etc/fstab是系统保存文件系统信息?静态文件,每一行描述一个文件系统;系统每次启动会读取此文件信息以确定需要挂载哪些文件系统。参...
- linux系统运维,挂载和分区概念太难?在虚机下操作一次全掌握
-
虚拟机的好处就是可以模拟和学习生产环境的一切操作,假如我们还不熟悉磁盘操作,那先在虚机环境下多操作几次。这次来练习下硬盘扩容操作。虚拟机环境:centos8vm11linux设备命名规则在linux中...
- Linux 挂载 NFS 外部存储 (mount 和 /etc/fstab)
-
mount:手工挂载,下次重启需再重新挂载,操作命令:mount-tnfs-ooptionsserver:/remote/export/local/directory上面命令中,本地目录...
- 在Linux中如何设置自动挂载特定文件系统(示例)
-
Linux...
- Linux环境中的绑定挂载(bind mount)
-
简介:Linux中的mount命令是一个特殊的指令,主要用于挂载文件目录。而绑定挂载(bindmount)命令更为特别。mount的bind选项将第一个目录克隆到第二个。一个目录中的改变将会在...
- Linux挂载CIFS共享 临时挂载 1. 首先
-
如何解决服务器存储空间不足的问题?大家好,欢迎回来。在上一期视频中,我为大家介绍了如何利用Linux挂载来扩容服务器存储空间。这一期视频,我将以Linux为例,教大家如何进行扩容。群辉使用的是Linu...
- Linux 硬盘挂载(服务器重启自动挂载)
-
1、先查看目前机器上有几块硬盘,及已挂载磁盘:fdisk-l能够查看到当前主机上已连接上的磁盘,以及已经分割的磁盘分区。(下面以/dev/vdb磁盘进行分区、挂载为例,挂载点设置为/data)df...
- linux 挂载磁盘
-
在Linux中挂载硬盘的步骤如下:...
- 笨小猪教您Linux磁盘挂载
-
本教程针对Linux系统比较熟悉或者想学习Linux基础的用户朋友,本教程操作起来比较傻瓜式,跟着步骤就会操作,本文使用的工具是XShell同时多多注意空格(文中会有提示)。【问答】什么是磁盘挂载?答...
- Linux 磁盘挂载和docker安装命令
-
本篇给大家介绍Linux磁盘挂载和docker安装的相关内容,Linux服务器的操作是一个手熟的过程,一些不常用的命令隔断时间就忘记了,熟话说好记性不如烂笔头,还需在平时的工作中多练习记录。...
- Linux设置开机自动挂载分区
-
有时候,我们在安装完Linux系统之后,可能在使用过程中添加硬盘或者分区进行使用,这时候就需要手动把磁盘分区挂载到某个路径,但是开机之后就会消失,需要重新挂载,非常麻烦,那么我们应该如何设置开机自动挂...
- 在linux挂载一个新硬盘的完整步骤
-
以下是在Linux中挂载新原始磁盘的完整步骤,包括分区、创建文件系统以及使用UUID在/etc/fstab中启动时挂载磁盘:将新的原始磁盘连接到Linux系统并打开电源。运行以下命令,...
- Linux系统如何挂载exFAT分区
-
简介:Linux系统中不能像Windows系统那样自动识别加载新设备,需要手动识别,手动加载。Linux中一切皆文件。文件通过一个很大的文件树来组织,文件树的根目录是:/,从根目开始录逐级展开。这些文...
- Linux系统挂载硬盘
-
fdisk-l查看可挂载的磁盘都有哪些df-h查看已经挂载的磁盘...
- WSL2发布,如何在Win10中挂载Linux文件系统
-
WSL2是最新版本的架构,它为Windows子系统提供支持,使其能够在Windows上运行ELF64Linux二进制文件。通过最近的更新,它允许使用Linux文件系统访问存储在硬盘中的文件。如果你...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- oracle忘记用户名密码 (59)
- oracle11gr2安装教程 (55)
- mybatis调用oracle存储过程 (67)
- oracle spool的用法 (57)
- oracle asm 磁盘管理 (67)
- 前端 设计模式 (64)
- 前端面试vue (56)
- linux格式化 (55)
- linux图形界面 (62)
- linux文件压缩 (75)
- Linux设置权限 (53)
- linux服务器配置 (62)
- mysql安装linux (71)
- linux启动命令 (59)
- 查看linux磁盘 (72)
- linux用户组 (74)
- linux多线程 (70)
- linux设备驱动 (53)
- linux自启动 (59)
- linux网络命令 (55)
- linux传文件 (60)
- linux打包文件 (58)
- linux查看数据库 (61)
- linux获取ip (64)
- 关闭防火墙linux (53)