温馨提示×

ubuntu怎样回收闲置的网络带宽

小樊
43
2025-11-02 00:41:21
栏目: 智能运维

Ubuntu回收闲置网络带宽的方法

回收闲置网络带宽的本质是识别并限制占用带宽的进程/连接,释放未被有效利用的带宽资源。以下是Ubuntu系统中常用的工具和方法:

1. 监控带宽使用,定位闲置带宽占用者

在回收带宽前,需先明确哪些进程/连接占用了大量闲置带宽。常用工具如下:

  • iftop:实时显示网络接口的实时带宽使用情况(按IP/端口排序),帮助识别异常流量的来源(如未经授权的下载、备份任务)。
    sudo apt install iftop  # 安装iftop
    sudo iftop -i eth0      # 监控eth0接口(替换为你的网卡名,如ens33)
    
  • nethogs:按进程/程序分类显示带宽使用情况,快速定位占用带宽的应用(如Chrome、迅雷)。
    sudo apt install nethogs  # 安装nethogs
    sudo nethogs eth0         # 监控eth0接口
    
  • nload:直观显示入站/出站流量的趋势图(支持自定义刷新时间、流量单位),适合快速查看带宽占用状态。
    sudo apt install nload    # 安装nload
    nload eth0                # 监控eth0接口
    

通过这些工具,可快速找到占用闲置带宽的进程或连接(如长期空闲的下载任务、未关闭的P2P软件)。

2. 限制进程/连接的带宽占用

定位到闲置带宽占用者后,可通过以下工具限制其带宽,释放资源:

  • wondershaper:轻量级脚本,快速限制网卡的下载/上传速度(单位:kbit/s),适合普通用户。
    sudo apt install wondershaper  # 安装wondershaper
    sudo wondershaper eth0 1024 512  # 限制eth0下载1Mbps(1024kbit/s)、上传512Kbps(512kbit/s)
    sudo wondershaper clear eth0     # 清除限速规则
    
  • tc(Traffic Control):Linux内核自带的高级流量控制工具,可实现更精细的带宽管理(如HTB分层、优先级调度)。
    示例:限制eth0接口的总带宽为1Mbps(下载),并设置优先级:
    sudo tc qdisc add dev eth0 root handle 1: htb default 30  # 创建HTB队列
    sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 1mbit ceil 1mbit  # 设置总带宽上限
    sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 0.0.0.0/0 flowid 1:1  # 应用过滤规则
    
    注:tc命令较复杂,需参考man tc学习语法。

3. 清理无用网络连接

闲置的网络连接(如未关闭的SSH会话、僵尸TCP连接)会占用带宽资源,可通过以下命令清理:

  • netstat/ss:查看当前网络连接状态,识别闲置连接(如TIME_WAIT状态的TCP连接)。
    netstat -tulnp | grep TIME_WAIT  # 查看TIME_WAIT状态的连接
    ss -tulnp | grep TIME_WAIT       # 更高效的替代命令(推荐)
    
  • kill命令:终止占用带宽的无用进程(需确认进程ID)。
    sudo kill -9 <PID>  # 替换<PID>为占用带宽的进程ID(通过nethogs/iftop获取)
    

4. 调整系统网络配置(可选)

若频繁出现闲置带宽占用,可通过修改系统配置优化:

  • 禁用不必要的网络服务:如关闭未使用的FTP、Telnet服务(减少后台带宽消耗)。
    sudo systemctl stop ftp  # 停止FTP服务
    sudo systemctl disable ftp  # 禁止开机启动
    
  • 调整TCP参数:通过修改/etc/sysctl.conf文件,优化TCP连接的重传、超时设置(如减少TIME_WAIT状态的持续时间)。
    echo "net.ipv4.tcp_fin_timeout = 30" | sudo tee -a /etc/sysctl.conf  # 缩短TIME_WAIT时间(默认60秒)
    sudo sysctl -p  # 生效配置
    

通过以上方法,可有效回收Ubuntu系统中的闲置网络带宽,提升网络资源利用率。需注意:操作前需确认目标进程/连接的合法性,避免误操作影响正常业务。

0