必须调整网卡接收与发送缓冲区大小:在设备管理器中将接收缓冲区设为1024、发送缓冲区设为512或768,并禁用/启用网卡生效;再通过powershell执行三条netsh命令禁用tcp自动调优并固定收发窗口为524288,以适配高负载场景。

要让有线网络在高负载下不丢包、不卡顿,必须调整网卡的接收缓冲区与发送缓冲区大小——默认256个数据包的队列容量,在后台程序多、下载任务重时极易溢出,直接导致速度掉档或网页加载中断。
通过设备管理器调大接收缓冲区
点击【开始】→搜索“设备管理器”→展开“网络适配器”→右键你的有线网卡(如Realtek PCIe GbE Family Controller)→选择“属性”。
切换到“高级”选项卡→在属性列表中找到【Receive Buffers】或类似名称(不同厂商命名略有差异,如“接收缓冲区”“Rx Buffers”“Jumbo Packet”旁的配套项)→将值从默认256改为【1024】→点击“确定”。
这一步改完后需重启网卡:回到“网络连接”界面,右键对应以太网连接→先“禁用”,等3秒→再“启用”。不重启网卡,新设置不会生效。
调整发送缓冲区大小
同样在网卡属性的“高级”选项卡中,查找【Transmit Buffers】、【Tx Buffers】或“传输缓冲区”类条目。
将其设为512或768即可。发送缓冲区不宜盲目拉满——过大会增加延迟,尤其对视频会议、远程桌面这类实时交互场景不利;1024以上只建议用于纯大文件上传场景。
设好后同样需禁用→启用该网络连接才能激活。
用命令行永久锁定TCP收发窗口
仅调网卡缓冲区还不够。Windows TCP协议栈有自己的收发窗口,默认会动态缩放,但常缩得过小,无法匹配千兆带宽下的长肥管道(BDP)。需手动固定:
第一步:以管理员身份运行 PowerShell。
第二步:执行以下三条命令(顺序不可颠倒):
netsh int tcp set global autotuning=disabled
netsh int tcp set global recvwindow=524288
netsh int tcp set global sendwindow=524288
第三步:执行 netsh int tcp show global →确认 Recv Window 和 Send Window 两行数值已变为524288(即512KB)。该值适用于100Mbps以上带宽+20ms以上延迟的常见家庭宽带环境。
【注意:若之后出现网页打不开或游戏频繁掉线,说明窗口设得过大,需恢复自动调优:netsh int tcp set global autotuning=normal】
验证缓冲区是否生效
打开命令提示符(无需管理员),输入:netsh int ip show interfaces →记下你有线网卡对应的“Idx”编号(如“4”)。
接着输入:netsh int ip show interface 4 →查看“Receive buffers”和“Send buffers”字段,确认显示数值与你设置的一致。
如果仍显示“default”,说明设备管理器里没点“确定”,或网卡驱动未正确加载新参数。











