远程文件拷贝缓慢但测速正常、其他设备无此问题,很可能是MTU设置不匹配导致的IP分片异常;它不中断连接,却让大包反复重传或被丢弃,尤其影响SMB、AFP、SSH等协议的大块数据传输,表现为挂载卡顿、传输速率卡在几MB/s、缩略图逐帧加载、甚至连接超时。
远程文件拷贝缓慢但测速正常、其他设备无此问题,很可能是 mtu 设置不匹配导致的 ip 分片异常。它不中断连接,却让大包反复重传或被丢弃,尤其影响 smb、afp、ssh 等协议的大块数据传输,表现为挂载卡顿、传输速率卡在几 mb/s、缩略图逐帧加载、甚至连接超时。
先确认是不是 MTU 问题
打开终端,执行以下命令(需替换为实际接口名):
- 查接口:运行 networksetup -listallhardwareports,找到 USB 网卡、扩展坞有线口或以太网对应的 Device(如 en4、en7)
- 快速验证:执行 ping -D -s 1472 114.114.114.114(总长=1500)
- 若返回 “packet too big” 或超时,说明路径无法承载 1500 字节包,MTU 很可能偏高
用 ping 测试出合适的 MTU 值
目标不是理论最大值,而是路径上所有设备(光猫、路由器、交换机、USB 网卡芯片)都能无分片转发的实际上限:
- 从 1450 开始试(对应 -s 1422):运行 ping -c 5 -D -s 1422 114.114.114.114
- 全通 → 尝试 -s 1432(MTU=1460),再往上逐步加
- 失败 → 回落 10 字节重试(如 1422 → 1412 → 1402),直到稳定通过
- 最终推荐 MTU = 成功时的 -s 值 + 28(例如 -s 1422 通,则设 MTU=1450)
让设置重启后依然生效
临时改(sudo ifconfig en4 mtu 1450)会在断连或重启后失效:
让 macOS 自动化像说话一样简单 —— 用代码控制你的 Mac,无需学习 AppleScript 系统要求 macOS 14+ (Sonoma) Python 3.9+ 需要开启:辅助功能 + 屏幕录制权限
- 查服务名:运行 networksetup -listallnetworkservices | grep -A 1 "USB\|Ethernet",记下完整名称(如 "USB 10/100/1000 LAN")
- 写入永久配置:sudo networksetup -setMTU "USB 10/100/1000 LAN" 1450(引号内名称必须一字不差)
- 刷新接口:断开重连该网络服务,或执行 sudo ifconfig en4 down && sudo ifconfig en4 up
配合优化提升稳定性
尤其对 USB 转网卡和 M 系列扩展坞(如 RTL8156B)效果明显:
- 禁用 IPv6 分片协商:sudo sysctl -w net.inet6.ip6.forwarding=0
- 增大 TCP 接收缓冲区(缓解高延迟链路窗口收缩):sudo sysctl -w net.inet.tcp.recvspace=524288
- 若访问 NAS,顺手禁用 SMB 客户端签名:echo '[default]\nsigning_required=no' | sudo tee /etc/nsmb.conf,然后重启
- 拷贝前清 DNS 缓存(Ventura 及更新系统):sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder










