最近(我想是在更新到 10.6.4 之后)Mac OS X 坚持要将我的 MTU 更改为 1500,即使我的 Mac 直接连接的路由器的 MTU 为 1472。我注意到手动将 MTU 设置为 1472 可以大大提高性能,大概是因为它几乎消除了数据包碎片,但是 Mac OS X 会定期将 MTU 更改回 1500。
有人知道为什么或者怎样阻止它吗?
答案1
您可以关闭自动发现 MTU 大小在 Mac OS X 上这样:
- 仅限会话:
sudo sysctl -w net.inet.tcp.path_mtu_discovery=0
永恒的 :
编辑该文件
/etc/sysctl.conf
,例如:sudo nano /etc/sysctl.conf
然后添加以下行:
net.inet.tcp.path_mtu_discovery=0
最后重启
这将阻止 Mac OS X 自动设置 MTU 大小,但您仍然需要手动设置大小。
答案2
一种临时解决方案可能是每次登录时运行以下终端命令(或通过 AppleScript 运行):
sudo networksetup -setMTU en1 1472
这不会解决 MTU 重置的根本问题。我建议通过以下方式向 Apple 报告此错误错误报告器。
答案3
答案4
我一直在 osx 10.6.7 上进行一些网络测试,发现 mtu 总是下降到 1500。这里的解决方案是在 osx 中打开自动发现,并确保路由器设置为所需的 mtu 而不是自动。