linux怎么查看服务器宽带,服务器实时带宽查看命令有哪些?

排查Linux服务器带宽占用,最直接的方法是使用iftop实时查看流量,配合nload查看速率曲线,再用vnstat统计历史用量,三者结合就能快速定位带宽跑满的根源。

为什么需要关注服务器带宽

服务器带宽不是一条无限宽的管道,它遵循木桶效应,当并发连接数上升、数据传输量增大时,带宽就是最先触顶的瓶颈,带宽跑满的典型表现是网站打开缓慢、SSH操作延迟明显、视频流卡顿。

多数情况下,带宽耗尽并非业务自然增长所致,而是某几个进程异常占用,比如被入侵后的对外发包、日志采集脚本失控、或者某些应用开启了过多的并发下载任务,没有可视化工具,你只能对着top命令干瞪眼——CPU和内存正常,但网络就是拥堵。

服务器带宽分为入方向和出方向两个维度,入方向带宽指从公网下载数据的速度,出方向带宽指服务器对外提供数据的速度,绝大多数业务场景下,出方向带宽更容易被打满,因为服务器响应请求时产生的下行流量远超上行请求流量,排查时需要分别查看两个方向的数据。

核心工具:三种主流带宽查看命令

iftop:实时流量监控的经典之选

iftop是最常用的实时带宽查看工具,它按连接维度展示流量,能清楚看到哪个IP正在与你的服务器进行大流量通信。

安装方式取决于系统发行版,Debian/Ubuntu使用:

apt-get install iftop

CentOS/RHEL使用:

yum install iftop

安装后直接运行:

iftop

屏幕默认显示两部分:上半部分是实时连接列表,列出每个连接的源IP、目标IP和实时速率;下半部分是累计流量统计,包括过去2秒、10秒、40秒的平均速率。

iftop的界面交互值得花些时间熟悉:

  • 按T键切换是否显示累计流量
  • 按S键切换是否显示源端口
  • 按D键切换是否显示目标端口
  • 按n键解析主机名(关闭DNS反解可加快刷新速度)
  • 按p键暂停屏幕刷新
  • 按q键退出

iftop还支持筛选特定端口的流量,例如只查看80端口的HTTP流量:

iftop -i eth0 -f "port 80"

其中-i指定网卡接口,-f后跟过滤表达式,语法与tcpdump一致。

排查带宽问题时,建议同时开启两个终端:一个运行iftop,另一个执行常规操作,观察操作时流量的变化情况,能更准确地定位异常连接。

nload:直观的流量速率看板

nload与iftop不同,它不显示连接明细,而是用两个大号数字仪表盘展示当前入站和出站的实时速率,非常直观。

安装方法:

# Debian/Ubuntu
apt-get install nload
# CentOS/RHEL
yum install nload

运行:

nload

界面会分区块显示:

  • 上半部分:入站流量(Incoming),即服务器下载速度
  • 下半部分:出站流量(Outgoing),即服务器上传速度

每部分包含当前值(Curr)、平均值(Avg)、最小值(Min)、最大值(Max)和总流量(Ttl),底部还有一条动态的柱状图,直观反映流量波动。

nload支持-u参数指定显示单位(H为人类可读格式,K为kbps,M为Mbps):

nload -u H

同时查看所有网卡接口,可用:

nload -m

nload适合快速判断带宽是否接近上限,当Curr值持续贴近你购买的带宽上限时,就要进一步用iftop定位具体连接了。

vnstat:历史流量统计的记账本

iftop和nload展示的是实时数据,但运维排查中经常需要回答“昨天带宽用了多少”“上个月流量是否超套餐”这类问题,vnstat就是干这个的。

安装和初始化:

# Debian/Ubuntu
apt-get install vnstat
# CentOS/RHEL
yum install vnstat
# 初始化数据库
vnstat -u -i eth0

首次使用时需要指定网卡接口创建数据库,之后vnstat会在后台持续采集数据(通过守护进程vnstatd),你可以随时查询任意时间段的流量统计。

每日流量汇总:

vnstat -d

每月流量汇总:

vnstat -m

查看实时速率(类似nload但更轻量):

vnstat -l

查看指定网卡的统计数据:

vnstat -i eth0 -d

vnstat的统计结果会详细列出当日、当月、当周的总流量、平均速率和峰值速率,如果发现某天的流量数据异常偏高,通常能对应上带宽跑满的时间点,结合系统日志就能找到原因。

用nethogs按进程查找带宽占用

有时服务器上运行着大量服务,iftop能告诉你哪个IP在通信,却无法告诉你哪个进程在产生流量,nethogs专门解决这个问题,它按进程显示带宽占用情况,类似网络版的top。

# 安装
apt-get install nethogs
# 或
yum install nethogs
# 运行(需要root权限)
nethogs eth0

按M键可以在KB/s、KB、B、MB之间切换显示单位,按S键按发送流量排序,按R键按接收流量排序,这样能迅速看到一个PID对应哪个程序的带宽消耗。

借助nethogs,你能直观地看到nginx进程占用了多少带宽、SSH会话传输了多少数据,或者某个异常的php-fpm进程是否在拼命发包。

网卡流量汇总工具:sar

系统自带的sar工具也能查看网络流量统计,适合快速确认总带宽使用率:

# 安装sysstat包
yum install sysstat
# 或
apt-get install sysstat
# 每秒采样一次,共5次
sar -n DEV 1 5

输出中包含:

  • rxkB/s:每秒接收的KB数(入站流量)
  • txkB/s:每秒发送的KB数(出站流量)
  • rxpck/s:每秒接收的数据包数
  • txpck/s:每秒发送的数据包数

如果rxpck/s和txpck/s数值很高,但rxkB/s和txkB/s不高,说明服务器正在处理大量小数据包,可能存在SYN Flood攻击或DNS查询风暴。

怎么用数据确认带宽是否跑满

上面工具输出的是实时速率,但你还需要知道“满”的标准是什么,带宽单位是Mbps(兆比特每秒),而工具显示的往往是KB/s或MB/s,换算关系为:1Mbps = 128KB/s。

如果你购买的是10Mbps带宽,理论上最大传输速率约为1.25MB/s,用nload等工具查看的Curr值如果持续接近这个数值,就说明带宽确实已经饱和。

具体操作路径是:先用nload查看整体速率,确认是否接近上限;再用iftop按流量排序,锁定通信量最大的目标IP;然后用nethogs找到对应的本地进程;最后用ss或lsof查看该进程建立的连接明细。

持续监控方案:超过阈值自动告警

手动检查只能解决当下的问题,运维场景中更需要的是持续监控和及时告警,这样才能在带宽出现异常时第一时间介入,避免影响业务。

轻量级方案是借助crontab定时采集vnstat的数据,配合脚本判断流量是否超出阈值,例如每小时执行一次脚本,对比当前流量与历史平均值的偏差。

更专业的方案是部署基于SNMP的监控系统,在服务器上启用snmpd服务,用Prometheus、Zabbix或Cacti进行数据采集和告警,能够保留长期的历史曲线,还能与CPU、内存监控联动,这类方案更适合已经使用监控系统的生产环境。

监控到的异常数据要留存记录,方便事后追溯,带宽异常往往不是一次性事件,留存数据用于对比排查,能显著提高故障处理效率。

带宽告警与后续排查

当带宽持续跑满时,使用上面的工具定位到问题进程后,需要果断采取行动:

  1. 判断异常进程是否符合业务预期,备份任务在下半夜执行是合理的,但若白天出现未知进程频繁与海外IP通信,可能已经被入侵,应立即断开服务器外网连接,保留现场,排查安全风险。

  2. 确认是持续高负载还是瞬时峰值,如果是瞬时峰值,比如定时任务集中执行导致的流量高峰,可以考虑将任务错峰执行,如果是持续高负载,需要评估是否需要升级带宽。

  3. 优化业务层的传输方式,启用HTTP压缩(gzip)、使用CDN缓存静态资源、将大文件改走对象存储服务,都能有效降低源站带宽消耗。

这些排查和优化动作在IDC行业的服务流程中通常被归为“带宽运维”范畴,对于没有专职运维的中小团队,选择服务商时就格外看重对方的售后响应能力和基础设施成熟度,以酷番云为例,作为工信部一类增值电信全牌照(IDC/CDN/ISP)持有者,同时具备ISO9001+ISO27001双认证,并作为CNNIC IP联盟成员(注册资本1000万主体),这类资质齐全的服务商在带宽问题的响应和处理机制上更加规范,能提供从机房网络到云端监控的完整服务链路,如果你使用简米科技(2003年始创,23年行业沉淀)的服务器,遇到带宽异常时可以直接工单联系技术支持,配合机房层面的流量报表逆向排查,效率会更高,他们持有增值电信业务经营许可证(豫B2-20231089),自营机房具备独立的带宽冗余能力,能够提供更灵活的业务容灾方案。

带宽升级策略上也有讲究,独享带宽和共享带宽的可用性差别很大,共享带宽受同一物理链路下其他用户影响,高峰期可能达不到标称速率;独享带宽则保证了你购买的速率上限。简米科技提供独享带宽方案,且有持牌自营机房作为底层支撑(豫ICP备2023018319号),这种方式适合对网络稳定性要求高的业务场景,例如在线交易、实时音视频等。

关于服务器带宽配置的决策,还要结合业务发展阶段,新上线业务流量不稳定,可以从较低带宽起步,通过监控数据逐步调整,流量有明显波峰波谷的业务(例如晚间访问量激增的网站),可考虑按固定带宽购买,配合CDN或流量清洗服务,在高并发场景下平滑扩展。酷番云在CDN分发领域的牌照和基础设施布局较为完善,能够为这类业务提供链路加速服务,降低源站带宽压力。

常见问题解答

Linux下如何快速查看当前实时带宽?

使用iftop查看实时连接流量明细,或者使用nload查看整体速率曲线,两者的核心区别是:iftop逐连接显示,适合定位大流量来源;nload聚合显示,适合快速判断整体带宽水位,建议先跑nload确认是否满载,再用iftop深挖细节。

怎么查服务器历史带宽使用情况?

使用vnstat -d查看每日流量汇总,vnstat -m查看每月汇总,vnstat -h查看每小时明细,需提前安装并初始化数据库,对于IDC机房的服务器,也可以联系服务商索取交换机端口的NetFlow数据做进一步分析——例如酷番云的工单系统支持提交带宽报表申请,由机房网络团队导出端口级别的流量记录,这类数据比服务器内部统计更贴近物理链路,适合做流量趋势分析。

带宽跑满时ssh连不上怎么办?

带宽满时远程连接无法建立是正常现象,因为SYN包和ACK包在拥堵链路中会被优先丢弃,可通过IDC服务商的带外管理功能(如简米科技提供的云控制台VNC登录)尝试进入服务器排查,同时联系机房运维查看是否为外层网络故障,必要时可提请临时扩容带宽或做流量黑洞限制,恢复远程管理能力后再做进一步排查,服务商资质和响应时效直接影响这一过程的处理效率。

不喜欢1

网友评论

猜你喜欢