这些网络性能调优命令,关键时刻能救你的网速

家里WiFi时快时慢,公司内网传文件卡成PPT,远程会议声音断断续续——别急着换路由器或升级宽带,先试试几个终端里就能敲的命令。它们不花一分钱,却可能让延迟降一半、丢包归零、吞吐翻倍。

查清问题在哪,比盲目优化更重要

很多人一卡就重启光猫,其实第一步该用 pingmtr 看路径。比如发现视频会议总卡在某个中间节点,那问题大概率不在你家,而在运营商某段链路上。

ping -c 5 www.baidu.com

看返回的 time 值是否忽高忽低、有没有 timeout。再用 mtr(Linux/macOS 默认没装,可 sudo apt install mtrbrew install mtr)盯住整条路:

mtr -r -c 10 www.taobao.com

输出里重点关注 Loss% 和 Last 列,哪一跳开始丢包、延迟飙升,问题就在那一段。

临时提升响应速度:调整 TCP 参数

默认的 Linux TCP 缓冲区对千兆宽带其实偏小。如果下载大文件总跑不满带宽,试试临时调大接收窗口:

sudo sysctl -w net.ipv4.tcp_rmem="4096 65536 8388608"

三个数字分别是最小、默认、最大接收缓冲区(单位字节)。最后那个 8MB 是给千兆网留的余量,普通百兆可设为 4194304(4MB)。改完不用重启,立刻生效。

绕过拥堵路由:用 ip route 指定出口

家里双宽带(比如电信+移动),默认只走一条。想让游戏走低延迟的线路、下载走高带宽的线路,可以用策略路由。先查清楚各网卡名:

ip link show | grep ': ' | awk -F': ' '{print $2}'

假设电信是 eth0,移动是 eth1,想让微信视频固定走 eth0,可以加一条规则:

sudo ip rule add to 119.29.29.29/32 table 100
sudo ip route add default via 192.168.1.1 dev eth0 table 100

(119.29.29.29 是 DNSPod 的公共 DNS,常用于测试;192.168.1.1 是你电信网关地址)

排查本地瓶颈:ss 比 netstat 更快更准

怀疑是本机程序占满连接数?netstat 已淘汰,ss 是新标准:

ss -tuln | head -15

快速列出所有监听端口和连接状态。-t 是 TCP,-u 是 UDP,-l 是监听中,-n 不反向解析 IP。加个 -i 还能看到重传、RTT 等细节:

ss -ti src :80

专门查本机发往 80 端口的连接,看 RTO(重传超时)是否异常升高——升高说明链路不稳定,不是程序写得烂。

无线环境差?用 iwconfig 看真实信号质量

WiFi 图标显示满格,但实际速率只有 72Mbps?可能是干扰太强。连上无线后运行:

iwconfig wlan0 | grep -E "Rate|Signal|Freq"

重点看 Signal level(一般 -30dBm 是极佳,-70dBm 以下就容易卡),还有 Bit Rate 是否远低于协议理论值(比如 802.11ac 标称 867Mbps,结果只跑出 65Mbps,大概率信道被隔壁老王的路由器占满了)。