技术讨论:为什么 macOS 的 SMB 网络共享问题能搞挂整个系统?

2018-02-21 17:08:47 +08:00
 zn

这个问题我已经碰到几次了,非常郁闷,真的是非常郁闷!

重现过程大致是这样:

过了一会任务管理器显示 Finder 处于未响应状态。 强制退出 Finder,然后发现无法打开新的 Finder 窗口。 命令行里能看到一个处于“ E (意思是正在退出)”状态的 Finder 进程。

[apple@MacBook: ~]$ ps aux|grep Finder
apple              532   0.0  0.0        0      0   ??  ?E   Sun10PM   0:00.00 (Finder)

就是上面这个 pid 为 532 的进程,这个进程处于一个特殊的“正在退出”的状态,任何方法都对它无效,包括 kill -9。

这时候,所有需要使用到通用打开保存窗口的程序,只要你点菜单里的“打开文件”,也立即跟着挂掉,只能强制退出,并且强制退出后也会留下一个处于“正在退出”状态的死进程,任何方法都无效,包括 kill -9。

[apple@MacBook: ~]$ ps aux|grep -i sublime
apple            41988   0.0  0.0        0      0   ??  ?E   10:10PM   0:00.00 (Sublime Text)
apple            99006   0.0  0.0  4267752    880 s001  S+    4:30PM   0:00.00 grep -i sublime
[apple@MacBook: ~]$ kill -9 41988

[apple@MacBook: ~]$ ps aux|grep -i sublime
apple            41988   0.0  0.0        0      0   ??  ?E   10:10PM   0:00.00 (Sublime Text)
apple            99015   0.0  0.0  4267752    684 s001  R+    4:30PM   0:00.00 grep -i sublime
[apple@MacBook: ~]$ ps aux|grep -i edit
apple            99037   0.0  0.0        0      0   ??  ?E    4:31PM   0:00.00 (TextEdit)
apple            99084   0.0  0.0  4267752    876 s001  S+    4:32PM   0:00.00 grep -i edit

到了这一步,基本上只能命令行能访问文件系统了,图形界面已经完全挂掉。

于是只能重启。

然而还是太年轻,你会发现重启会卡在一半,永远无法关机。

于是只能长按电源键强制关机。

于是问题来了:为什么一个 SMB 网络共享问题,能搞挂整个系统?

8169 次点击
所在节点    macOS
40 条回复
xwyam
2018-02-21 17:29:41 +08:00
NFS 大法好
zn
2018-02-21 17:32:57 +08:00
@xwyam NFS 中文乱码问题不好解决。
xwyam
2018-02-21 17:38:43 +08:00
@zn 你指的是 GBK 编码的文件名?
zane1994
2018-02-21 17:50:57 +08:00
据说是 bug,我每次用共享复制大文件时候就会有概率变成无响应,必须重启电脑才行,坑爹的 finder 单线程😢
zn
2018-02-21 17:53:10 +08:00
@xwyam utf8 一样乱码。貌似 nfs 4.1 才支持 utf8
zn
2018-02-21 17:55:00 +08:00
@zane1994 不是单线程。不过问题是,为什么出问题会导致整个系统挂掉
frozenthrone
2018-02-21 17:55:09 +08:00
webdav 大法好
ptyfork
2018-02-21 18:05:47 +08:00
macOS 什么版本的?

https://www.v2ex.com/t/422671
xwyam
2018-02-21 18:10:37 +08:00
@zn 用了几个月 NFS 了,没遇到过乱码。就是权限很蛋疼
zn
2018-02-21 18:11:21 +08:00
@ptyfork 已确认 10.13.2 有这个问题,据说 10.13.3 已经修复此问题。

我的关注点不在于有没有 bug,而是为什么这个 bug 能把整个系统搞挂掉。
zn
2018-02-21 18:12:08 +08:00
@xwyam 你在 Windows 下提供 NFS 共享,macOS 下访问试试。
liwufan
2018-02-21 18:17:00 +08:00
我同样有死机这个问题,不光如此,连 smb 前缀都连接不上.前缀要改成 cifs 才可以连接 Linux 服务器的 samba 分享
xwyam
2018-02-21 18:18:47 +08:00
@zn Windows 的 NFS 服务器还真没用过。。。但是 Win 下文件名应该默认 GB 的吧
orangeade
2018-02-21 18:50:23 +08:00
换 FTP 算了
return
2018-02-21 19:40:48 +08:00
10.12.5 和楼主一摸一样的问题已经遇到好几次这样的情况,最后只能是强制关机
有时发生在文件传输,有时是退出 smb 的时候
loading
2018-02-21 19:49:14 +08:00
io 堵死了,哈哈
cyspy
2018-02-21 19:51:41 +08:00
试试 SIGINT 能不能杀掉?
zn
2018-02-21 20:03:35 +08:00
@cyspy sudo kill -9 都不行,最强力的杀进程方式了。
hzcer
2018-02-21 20:06:00 +08:00
10.13.2 和楼主一模一样的问题,不过重启倒是不会卡死。
michaelzxp
2018-02-21 20:06:52 +08:00
確實遇到過,所以就很少用 mac 的 smb

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/431473

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX