要让Windows SMB共享跑满千兆带宽,需启用SMBv3多通道与卸载优化、禁用SMBv1和强制签名、调优TCP参数、关闭QoS限制,并使用robocopy /J替代资源管理器拖拽。
要让 windows smb 共享真正跑满局域网带宽(比如千兆网络下达到 100mb/s 以上),光开个共享远远不够。关键在于激活 smbv3 的现代特性,并关闭拖后腿的旧机制和系统限制。
启用 SMBv3 多通道与卸载优化
多通道能让一台电脑通过多个 TCP 连接并行传输,大幅提升吞吐;卸载则把部分协议处理交给网卡硬件,减轻 CPU 负担。
- 管理员 PowerShell 中运行:
Set-SmbServerConfiguration -EnableMultiChannel $true
Set-SmbClientConfiguration -EnableMultiChannel $true - 确认网卡支持:设备管理器 → 网卡属性 → 高级选项卡 → 启用 Receive Side Scaling(RSS) 和 TCP Checksum Offload
- 如使用 SSD 或 NVMe 存储,可启用 SMB 直通(SMB Direct):在“Windows 功能”中勾选 SMB 直通(需 RDMA 网卡支持)
关闭低效协议与强制签名
SMBv1 不仅不安全,还会在协商阶段拉低整体连接质量;默认开启的签名验证也会显著增加 CPU 开销和延迟。
- 禁用 SMBv1(强烈建议):
Set-SmbServerConfiguration -EnableSmb1Protocol $false - 关闭签名强制要求(仅限可信内网):
reg add "HKLMSYSTEMCurrentControlSetServicesLanmanWorkstationParameters" /v RequireSecuritySignature /t REG_DWORD /d 0 /f
reg add "HKLMSYSTEMCurrentControlSetServicesLanmanServerParameters" /v RequireSecuritySignature /t REG_DWORD /d 0 /f - 若无需加密(如纯内网环境),可临时关闭服务端加密:
Set-SmbServerConfiguration -EncryptData $false
调优 TCP 与系统级参数
默认的 TCP 自动调优在局域网中反应迟钝,QoS 带宽预留会人为压低可用带宽,这些都得手动干预。
- 提升 TCP 接收窗口上限:
netsh int tcp set global autotuninglevel=experimental - 禁用 QoS 带宽保留(释放全部带宽):
组策略 → 计算机配置 → 管理模板 → 网络 → QoS 数据包计划程序 → “限制可保留带宽”设为 0% - 重置网络栈(执行后重启):
netsh winsock reset && netsh int ip reset && ipconfig /flushdns
绕过文件资源管理器瓶颈
资源管理器复制是单线程、带缓冲的,不适合大文件高速传输。真正压测或批量拷贝时,应换更底层的工具。
- 用 robocopy /J(无缓冲 I/O)替代拖拽:
robocopy C:source \10.199.11.78share D:ackup /J /E - 对虚拟机镜像、日志等含大量空白的数据,启用 SMB 压缩:
Set-SmbServerConfiguration -EnableCompression $true - 访问时优先用 IP 地址(如 \10.199.11.78share),避免 DNS 解析或 NetBIOS 名称解析延迟



















