Linux 中,可使用
nload
、ifstat
等命令查看带宽
使用ifconfig
或ip
命令查看网络接口信息
ifconfig
和ip
是Linux中常用的网络接口配置和查看工具,虽然它们不能直接显示带宽占用情况,但可以提供网络接口的流量统计信息。
使用ifconfig
ifconfig
输出示例:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::20c:29ff:fe8c:e941 prefixlen 64 scopeid 0x20<link>
ether 08:0c:29:8c:e9:41 txqueuelen 1000 (Ethernet)
RX packets 123456 bytes 12345678 (12.3 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 654321 bytes 65432100 (65.4 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
RX packets
和RX bytes
表示接收的数据包数量和字节数。TX packets
和TX bytes
表示发送的数据包数量和字节数。
使用ip
ip -s link
输出示例:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 08:0c:29:8c:e9:41 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overruns mcast
12345678 123456 0 0 0 0
TX: bytes packets errors dropped carrier collsns
65432100 654321 0 0 0 0
RX bytes
和TX bytes
分别表示接收和发送的字节数。
使用vnstat
工具查看历史流量
vnstat
是一个用于收集和查看网络流量统计信息的工具,特别适合查看历史带宽使用情况。
安装vnstat
sudo apt-get install vnstat # Debian/Ubuntu sudo yum install vnstat # CentOS/RHEL
查看实时流量
vnstat -l
输出示例:
rxbytes txpktst rxpktst txbytes total
123456 12345 65432 654321 777777
rxbytes
:接收的字节数。txbytes
:发送的字节数。total
:总流量(接收 + 发送)。
查看每日流量统计
vnstat -d
输出示例:
------------------------------------------------------------------
Date Traffic Estimated traffic for today: x.x Mbit/s
rxKB/s txKB/s totalKB/s avg rxKB/s avg txKB/s
------------------------------------------------------------------
Oct 01 123456 65432 188888 12345 6543
...
Today 12345 6543 18888
------------------------------------------------------------------
使用nload
实时监控带宽
nload
是一个基于终端的网络流量监控工具,可以实时显示带宽占用情况。
安装nload
sudo apt-get install nload # Debian/Ubuntu sudo yum install nload # CentOS/RHEL
使用nload
nload eth0
输出示例:
+--------------------------------------------------------------+
| |
| Receive: 1.23 Mbit/s |
| Transmit: 0.45 Mbit/s |
| |
| Total: 1.68 Mbit/s |
| |
| Max Receive: 2.34 Mbit/s |
| Max Transmit: 1.12 Mbit/s |
| |
+--------------------------------------------------------------+
Receive
:当前接收带宽。Transmit
:当前发送带宽。Total
:总带宽(接收 + 发送)。Max Receive
和Max Transmit
:历史最大带宽。
使用bmon
进行更详细的监控
bmon
是一个功能强大的网络带宽监控工具,支持实时监控和历史数据分析。
安装bmon
sudo apt-get install bmon # Debian/Ubuntu sudo yum install bmon # CentOS/RHEL
使用bmon
bmon
输出示例:
--bmon version 3.0 ---
Interface: eth0 (192.168.1.100)
Time: 10:00:00 AM
Uptime: 1h 23m 45s
Incoming: 1.23 Mbit/s (123456 B/s)
Outgoing: 0.45 Mbit/s (45678 B/s)
Total: 1.68 Mbit/s (169134 B/s)
Graph:
[===========================>] 1.23 Mbit/s
Incoming
:接收带宽。Outgoing
:发送带宽。Total
:总带宽。Graph
:实时带宽使用图表。
使用sar
查看历史网络统计
sar
是sysstat
工具包的一部分,可以查看系统的历史网络统计信息。
安装sysstat
sudo apt-get install sysstat # Debian/Ubuntu sudo yum install sysstat # CentOS/RHEL
查看网络统计信息
sar -n DEV 1 1
输出示例:
10:00:00 AM IFACE rxkb/s txkb/s rxpack/s txpack/s
10:00:01 AM eth0 1234.56 654.32 12345 6543
rxkb/s
:每秒接收的千字节数。txkb/s
:每秒发送的千字节数。rxpack/s
:每秒接收的数据包数。txpack/s
:每秒发送的数据包数。
使用iftop
查看实时带宽占用
iftop
是一个类似于top
命令的工具,可以实时显示各个进程或主机的带宽占用情况。
安装iftop
sudo apt-get install iftop # Debian/Ubuntu sudo yum install iftop # CentOS/RHEL
使用iftop
sudo iftop -i eth0
输出示例:
TX: cumulative: 123456 bytes
RX: cumulative: 654321 bytes
Cumm: 123456 bytes, 654321 bytes
peak: 1234 kB/s, 654 kB/s at 10:00:00 AM
avg: 123 kB/s, 65 kB/s ^C
TX
:发送的累计字节数。RX
:接收的累计字节数。Cumm
:当前累计字节数。Peak
:历史峰值带宽。Avg
:平均带宽。
小编总结对比
以下是常用工具的对比表:
工具 | 功能 | 实时监控 | 历史数据 | 安装命令 |
---|---|---|---|---|
ifconfig |
查看网络接口信息 | 否 | 否 | apt-get install net-tools |
vnstat |
查看历史流量统计 | 否 | 是 | apt-get install vnstat |
nload |
实时网络流量监控 | 是 | 否 | apt-get install nload |
bmon |
实时和历史网络流量监控 | 是 | 是 | apt-get install bmon |
sar |
查看系统历史网络统计 | 否 | 是 | apt-get install sysstat |
iftop |
实时查看各进程或主机的带宽占用 | 是 | 否 | apt-get install iftop |
FAQs
Q1:如何查看某个特定时间段的带宽使用情况?
A1:可以使用vnstat
或sar
工具,使用vnstat -d
查看每日流量统计,或使用sar -n DEV
查看特定时间的网络统计信息。
Q2:如何监控某个特定进程的带宽占用?
A2:可以使用iftop
工具,它能够实时显示各个进程或主机的带宽占用情况。
小伙伴们,上文介绍linux如何查看带宽占用情况的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/10382.html