在Linux服务器管理中,监控宽带使用情况是确保系统性能、排查网络问题以及优化资源配置的关键环节,通过有效的工具和方法,管理员可以实时掌握服务器的网络流量,及时发现异常流量或带宽瓶颈,本文将详细介绍多种查看Linux服务器宽带的方法,涵盖命令行工具、图形化界面及专业监控软件,帮助管理员根据实际需求选择合适的方案。

使用命令行工具实时监控宽带
命令行工具是Linux服务器管理中最直接、高效的手段,尤其适合远程服务器或无图形界面的环境,以下是几种常用的命令行工具及其使用方法:
iftop:实时流量监控
iftop是一款基于文本的实时网络流量监控工具,可以显示每个进程的带宽使用情况,包括实时上传、下载速率以及连接目标。
安装方法(以CentOS为例):
yum install iftop y # CentOS/RHEL aptget install iftop y # Ubuntu/Debian
使用示例:
iftop i eth0 n P
参数说明:
i eth0:指定监控网卡(如eth0、ens33等);n:以数字形式显示地址,不解析域名;P:显示端口信息。
输出解读:
- 顶部显示网卡总带宽(如
10Mbps)及实时峰值; - 中间部分按带宽使用量排序,显示源/目标IP、端口及实时速率;
- 底部显示网络统计信息,如总发送/接收字节数。
nethogs:按进程监控流量
nethogs可以实时显示每个进程的网络带宽占用,适合定位导致流量异常的恶意程序或bug进程。
安装方法:
yum install nethogs y # CentOS/RHEL aptget install nethogs y # Ubuntu/Debian
使用示例:
nethogs i eth0
输出结果会按进程PID、名称、实时上传/下载速率排序,方便快速定位异常进程。
vnstat:长期流量统计
vnstat是一款轻量级的网络流量统计工具,通过后台服务持续记录流量数据,支持按天、月、年等维度查询历史流量。
安装方法:
yum install vnstat y # CentOS/RHEL aptget install vnstat y # Ubuntu/Debian
初始化与使用:
- 初始化数据库(需指定网卡):
vnstat u i eth0
- 查看实时流量:
vnstat
- 查看昨日流量:
vnstat d
- 查看本月流量:
vnstat m
sar:系统活动报告
sar是sysstat包的一部分,可监控系统多项指标,包括网络流量,需确保sysstat已安装并启用服务。

安装与启用:
yum install sysstat y # CentOS/RHEL systemctl enable sysstat now
查看网络流量:
sar n DEV 1 5
参数说明:
n DEV:显示网络设备统计信息;1 5:每秒刷新一次,共显示5次。
输出包括网卡名称、接收/发送速率(KB/s)、包数量等,适合分析短期流量波动。
通过/proc和/sys文件系统获取原始数据
Linux内核通过/proc和/sys虚拟文件系统暴露系统状态信息,无需安装额外工具即可获取网络流量数据。
/proc/net/dev
该文件记录每个网卡的接收(Receive)和发送(Transmit)统计信息,包括总字节数、包数量、错误数等。
查看方法:
cat /proc/net/dev
输出示例:
Inter| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
eth0: 12345678 123456 0 0 0 0 0 0 8765432 123456 0 0 0 0 0 0
通过计算两次采样间的差值,可得到实时流量速率,每10秒采样一次:
#!/bin/bash
prev=$(cat /proc/net/dev | grep eth0 | awk '{print $2}')
sleep 10
curr=$(cat /proc/net/dev | grep eth0 | awk '{print $2}')
rate=$(( (curr prev) / 10 / 1024 )) # KB/s
echo "当前下载速率: ${rate} KB/s"
/sys/class/net/
该目录下每个网卡子目录包含网卡的实时状态信息,如operstate(是否启用)、speed(速率限制)等。
查看网卡速率限制:
cat /sys/class/net/eth0/speed # 输出单位为Mbps,如1000表示1Gbps
使用图形化工具监控宽带
对于习惯图形界面的管理员,可通过以下工具直观查看网络流量:
nload:实时流量曲线图
nload以曲线图形式显示实时上传/下载速率,支持多网卡监控。
安装方法:

yum install nload y # CentOS/RHEL aptget install nload y # Ubuntu/Debian
使用示例:
nload eth0
界面分为上下两部分,分别显示接收和发送流量,包含实时速率、平均速率及总流量。
bmon:带宽监控器
bmon是一款功能丰富的带宽监控工具,支持多种输出模式(如文本、图形),可聚合流量统计。
安装方法:
yum install bmon y # CentOS/RHEL aptget install bmon y # Ubuntu/Debian
使用示例:
bmon p eth0
输出以模块化界面显示,包含实时流量图表、设备列表、统计摘要等。
企业级监控方案:Zabbix与Prometheus
对于大规模服务器集群,企业级监控工具可集中管理、可视化网络流量,并提供告警功能。
Zabbix
Zabbix通过SNMP、Agent等方式采集服务器指标,可创建带宽监控模板,设置阈值告警。
配置步骤:
- 在Zabbix服务器上创建主机,添加
net.if.in和net.if.out监控项(对应网卡接收/发送速率); - 设置图形展示流量趋势;
- 配置触发器,当带宽超过阈值时触发告警。
Prometheus + Grafana
Prometheus通过node_exporter采集服务器指标,Grafana负责可视化展示。
实现流程:
- 部署
node_exporter,暴露网络指标(如node_network_receive_bytes_total); - 在Prometheus中配置抓取任务;
- 在Grafana中导入带宽监控仪表盘,实时查看流量数据。
注意事项
- 指定网卡:多数工具需明确指定网卡名称(如
eth0、ens33),可通过ip a或ifconfig查看网卡列表; - 权限问题:部分命令需root权限执行(如
iftop、nethogs); - 数据持久化:长期监控需定期清理
vnstat等工具的数据库,避免占用过多磁盘空间; - 异常流量排查:当发现流量异常时,结合
iptables查看防火墙规则,或使用tcpdump抓包分析。
相关问答FAQs
Q1: 如何查看Linux服务器的实时带宽峰值?
A: 可使用iftop工具,通过iftop i eth0 P命令监控实时流量,顶部会显示当前峰值速率。nload的曲线图也能直观展示流量峰值波动,若需长期统计峰值,可通过vnstat查询历史数据,如vnstat dumpdb | grep eth0导出数据库后分析峰值时段。
Q2: 服务器带宽占用高但无异常进程,如何排查?
A: 若nethogs未发现异常进程,可能是DDoS攻击或非进程层面的流量(如内核模块、容器),可按以下步骤排查:
- 使用
netstat anp | grep ESTABLISHED查看活跃连接,确认是否存在异常IP; - 通过
iptables L n检查防火墙规则,封禁可疑IP; - 使用
tcpdump i eth0 s 0 w capture.pcap抓包分析,用Wireshark查看数据包内容; - 检查容器(如Docker/K8s)的网络流量,使用
docker stats或kubectl top pod定位异常容器。
