在Linux系统中,查看宽带(网络带宽)信息可以通过多种方法实现,具体取决于需要获取的是实时速率、接口配置还是历史统计。以下是一些常用工具和方法的详细说明:
1. 使用 `ifconfig` 或 `ip` 命令
- `ifconfig`(传统工具,部分新系统需安装):
bash
ifconfig eth0
输出中的 `RX`(接收)和 `TX`(发送)字节数可手动计算实时流量(需间隔采样)。
- `ip`(现代替代工具):
bash
ip -s link show eth0
显示更详细的统计信息,包括错误包数。
2. 实时带宽监控工具
- `nload`:
bash
nload eth0
提供动态的实时上下行速率图表,支持多接口切换。
- `iftop`:
bash
iftop -i eth0
按连接显示流量排名,可识别占用带宽的IP/端口。
- `bmon`:
bash
bmon
模块化界面,支持历史数据回放和JSON输出。
3. 系统级统计工具
- `vnstat`(需安装并配置后台服务):
bash
vnstat -l # 实时监控
vnstat -d # 每日统计
轻量级,记录长期趋势,适合生成报告。
- `sar`(来自 `sysstat` 包):
bash
sar -n DEV 1 # 每秒刷新一次
提供CPU、内存和网络综合监控,适合性能分析。
4. 网络测速工具
- `speedtest-cli`:
bash
speedtest-cli --simple
测试实际外网带宽(依赖Speedtest服务器)。
- `iperf3`(需服务端/客户端):
bash
iperf3 -c 192.168.1.100 # 测试内网吞吐量
精确测量TCP/UDP带宽,排除其他干扰。
5. 底层协议分析
- `ethtool`:
bash
ethtool eth0
查看网卡协商速率(如1000Mbps),实际可能受交换机限制。
- `tc`(流量控制):
bash
tc -s qdisc show dev eth0
检查内核队列统计,排查丢包或延迟问题。
6. 系统日志与监控集成
- `/proc/net/dev`:
bash
cat /proc/net/dev
直接读取内核暴露的接口统计,适合脚本处理。
- Prometheus + Grafana:
部署专业监控栈,通过`node_exporter`采集网络指标并可视化。
注意事项
- 虚拟化环境:KVM/Xen等需检查宿主机和客户机的双重统计。
- 无线网络:`iwconfig`可查看信号强度(影响实际速率)。
- 单位换算:1B=8bit,注意工具输出的单位(如MB/s vs Mbps)。
以上方法覆盖了从基础查询到深度分析的多种场景,实际使用时建议根据需求组合工具。例如,`nload`快速定位异常时段后,用`iftop`分析具体连接,最终通过`vnstat`生成长期报告。网络性能优化还需结合TCP调参、QoS策略等高级配置。
查看详情
查看详情