Mac在局域网中突然很慢(包括SMB、NFS、SCP、SSH、Ping等场景均很慢)

发布于:2025-06-22 ⋅ 阅读:(20) ⋅ 点赞:(0)

今天 SMB 又突然好慢,大概只有 8-9 MB/s,而苹果 SMB 很容易突然很慢是出了名的。我就想装 NFS,但是 NFS 弄好之后还是很慢,我服了,我就检查了scp等场景,都很慢,但是互联网下载速度还是很快的。

例如 iperf 的测试结果如下:

请添加图片描述

怎么说呢,你可以一个慢,说明是服务问题,但是啥都慢,那就很吓人了。

在这期间我找了很多方法,看了很多帖子,文档,但都没有用(一些不错的我会贴在末尾,虽然对本文没帮助,但是算是扩展知识面)。

在想不到办法的时候,我就开始用 Ping 看路由,我怀疑是不是中间经过了什么东西(我甚至没开交换机用的直连),但是很遗憾,并没有。并且线也换了几个,也用了 USB 转 RJ45 和显示器上的 RJ45 接口。我甚至用 Windows 试了一遍,发现是正常的。

在经过数个小时的折磨后,突然我在 Ping 传输的时候拔掉了网线,然后我发现,IP 端口居然是 Wi-Fi 发,以太网接口收(下面 Src 是 Mac 自带以太网接口 IP,Dst 是 Ubuntu 的 Wi-Fi 接口 IP):

请添加图片描述

啊这,终于找到问题所在了。

不过很可惜的是,我在下一步之前没有使用 netstat -rn 进行检查。不过事后再次开启 DHCP 自动分配 IP 之后 netstat -rn 显示访问 IP 169.254.2.7 的网络接口(Netif 是 network interface 的缩写)是 en1(这里剧透了):

请添加图片描述

en1 则是 Wi-Fi 的 BSD 设备名称。

请添加图片描述

而且 Ping 的这个结果也太不像双绞线的速度,延迟太高了也,就那么点线,我还换了几根,换成 15 厘米的都不行(可以看最后的最大/平均/最小值就会发现波动太大了):

请添加图片描述

这里你可能会说:难道你之前发现很慢,就没质疑过跑的 Wi-Fi 吗?
我怀疑了,我也打开路由器管理界面了,但是很遗憾,上面没有显示速度。
有可能是网络接口太多了,也可能是之前调整太多出了 Bug。

定位到症结所在,那么就是解决问题了。

为什么我当时这么笃定是 IP 问题呢?
因为我三年前做了个 Dell U2723QE 显示器相关的视频(估计你可以因此找到我的 B 站账号哈哈哈),有个评论说显示器上的网口插上不管用。
我测试的时候发现,macOS DHCP 的速度很慢,然后有可能就不给了,这就导致这个接口没法用,解决方案就是再开关一下。
果然经验是要积累的。

这里你可以看到,默认default192.168.1.1en1,所以 src 一开始走 Wi-Fi,毕竟现在的 Mac 大部分都没有自带的网口,都是无线网。

默认子网掩码是 255.255.0.0,按理来说两个也碰不到头,但是它就是碰到了,试试看手动设置 IP 地址和子网掩码,这里我改成如下内容:

请添加图片描述

OK 再来试试。

IP 地址和接口没错:

请添加图片描述

iperf 测试速度没错(就是千兆网):

请添加图片描述

SMB 服务器拷贝速度也没错:

请添加图片描述

太完美了,因为改完这个立马就好了。

我并不清楚这个方法的通用性如何,但是我如果以后再次遇到了相关错误,我会来进行补充。

希望能帮到有需要的人~

扩展阅读

下面是我之前找解决方案的时候看到的几篇的资料(主要是前两个)。

Adjust SMB browsing behavior in macOS - Apple Support:这个是苹果官方培训资料,里面提到“要加快 SMB 文件浏览速度,您可以阻止 macOS 读取 SMB 共享上的 .DS_Store 文件。这使得 Finder 仅使用基本信息立即按字母数字顺序显示每个文件夹的内容。”

请添加图片描述
How to disable SMB 1 or NetBIOS in macOS - Apple Support:这个和上者输出一样,但是提到了如何关闭 SMB 1(太老了不安全,但是兼容性高):
请添加图片描述
PowerEdge:如何使用“iperf”测试网络带宽 - Dell Technologies:Dell 的一个关于如何使用iperf的使用说明,因为其他的好多说一堆没说到点上,这个比较简洁清晰,方便查询。并且由于版权,也链接了 iperf 的主页。

FreeBSD 的手册第 31.2 章 - 网关和路由:这部分介绍了netstat -rn结果里的Flags部分的含义。


网站公告

今日签到

点亮在社区的每一天
去签到