V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zn
V2EX  ›  macOS

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

  •  
  •   zn · 2018-02-21 17:08:47 +08:00 · 8496 次点击
    这是一个创建于 2448 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    重现过程大致是这样:

    • 复制文件到 SMB 共享。
    • 复制到一半想取消,点取消界面显示正在取消...
    • 等了半个小时还是正在取消...
    • 与此同时,Finder 什么都干么不了,开不了新窗口,浏览不了文件。

    过了一会任务管理器显示 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 网络共享问题,能搞挂整个系统?

    第 1 条附言  ·  2018-02-21 21:36:30 +08:00
    升级到 10.13.3 后目前是没碰到此问题了。
    然而我就是很想知道为什么一个 bug 能让整个系统的图形界面挂掉不可用。
    42 条回复    2024-05-07 11:15:32 +08:00
    xwyam
        1
    xwyam  
       2018-02-21 17:29:41 +08:00 via Android
    NFS 大法好
    zn
        2
    zn  
    OP
       2018-02-21 17:32:57 +08:00
    @xwyam NFS 中文乱码问题不好解决。
    xwyam
        3
    xwyam  
       2018-02-21 17:38:43 +08:00 via Android
    @zn 你指的是 GBK 编码的文件名?
    zane1994
        4
    zane1994  
       2018-02-21 17:50:57 +08:00 via iPhone
    据说是 bug,我每次用共享复制大文件时候就会有概率变成无响应,必须重启电脑才行,坑爹的 finder 单线程😢
    zn
        5
    zn  
    OP
       2018-02-21 17:53:10 +08:00 via iPhone
    @xwyam utf8 一样乱码。貌似 nfs 4.1 才支持 utf8
    zn
        6
    zn  
    OP
       2018-02-21 17:55:00 +08:00 via iPhone
    @zane1994 不是单线程。不过问题是,为什么出问题会导致整个系统挂掉
    frozenthrone
        7
    frozenthrone  
       2018-02-21 17:55:09 +08:00
    webdav 大法好
    ptyfork
        8
    ptyfork  
       2018-02-21 18:05:47 +08:00
    macOS 什么版本的?

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

    我的关注点不在于有没有 bug,而是为什么这个 bug 能把整个系统搞挂掉。
    zn
        11
    zn  
    OP
       2018-02-21 18:12:08 +08:00
    @xwyam 你在 Windows 下提供 NFS 共享,macOS 下访问试试。
    liwufan
        12
    liwufan  
       2018-02-21 18:17:00 +08:00 via iPhone
    我同样有死机这个问题,不光如此,连 smb 前缀都连接不上.前缀要改成 cifs 才可以连接 Linux 服务器的 samba 分享
    xwyam
        13
    xwyam  
       2018-02-21 18:18:47 +08:00 via Android
    @zn Windows 的 NFS 服务器还真没用过。。。但是 Win 下文件名应该默认 GB 的吧
    orangeade
        14
    orangeade  
       2018-02-21 18:50:23 +08:00
    换 FTP 算了
    return
        15
    return  
       2018-02-21 19:40:48 +08:00
    10.12.5 和楼主一摸一样的问题已经遇到好几次这样的情况,最后只能是强制关机
    有时发生在文件传输,有时是退出 smb 的时候
    loading
        16
    loading  
       2018-02-21 19:49:14 +08:00 via iPhone
    io 堵死了,哈哈
    cyspy
        17
    cyspy  
       2018-02-21 19:51:41 +08:00 via Android
    试试 SIGINT 能不能杀掉?
    zn
        18
    zn  
    OP
       2018-02-21 20:03:35 +08:00
    @cyspy sudo kill -9 都不行,最强力的杀进程方式了。
    hzcer
        19
    hzcer  
       2018-02-21 20:06:00 +08:00 via iPhone
    10.13.2 和楼主一模一样的问题,不过重启倒是不会卡死。
    michaelzxp
        20
    michaelzxp  
       2018-02-21 20:06:52 +08:00
    確實遇到過,所以就很少用 mac 的 smb
    cyspy
        21
    cyspy  
       2018-02-22 00:34:59 +08:00 via Android
    @zn 我在 Linux 遇到过不少 SIGTERM 和 SIGKILL 都不行,SIGINT 可以,估计是阻塞在 IO 了
    newton108
        22
    newton108  
       2018-02-22 02:37:10 +08:00
    直接 sudo reboot 看看会不会卡在一半
    xjbeta
        23
    xjbeta  
       2018-02-22 10:22:27 +08:00
    除了苹果自家的 AFP 其他的体验都不怎么好 包括 WebDAV
    13k
        24
    13k  
       2018-02-22 10:51:08 +08:00
    只有我一个看到 LZ 头像才点进来的么
    neoblackcap
        25
    neoblackcap  
       2018-02-22 11:12:21 +08:00
    根据之前的反馈,应该不是系统整体的问题,你可以试试用 cp 之类的命令在 shell 上试试看有没有问题。我估计应该是 finder 的问题,这个都被人吐槽说是弱智了。
    zn
        26
    zn  
    OP
       2018-02-22 15:57:23 +08:00 via iPhone
    @neoblackcap 命令行是可以操作文件系统的,就是图形界面挂掉了
    deepout
        27
    deepout  
       2018-02-22 16:12:46 +08:00
    我艹,感动!
    终于遇到跟我一样的用户了!
    而且为此我还重装过系统。

    我的场景如下:
    照片存放在公司共享服务器,使用 LR 管理所有照片。
    Finder 通过 SMB 连接服务器,每次得先登录(需要用户名、密码)之后,LR 才能看到所有照片。
    每次我移动照片,或者批量处理照片的时候,LR 就卡死了。开始我以为是 LR 的 Bug,后来我发现正常在 Finder 界面操作单个 Folder 也会出现 Finder 卡死的情况,重启都重启不了,只能强制关机。

    因为工作与摄影相关,每天都要无数次操作 LR,每天都要强关无数次。
    原来还是 macOS 的锅!
    哎~
    neoblackcap
        28
    neoblackcap  
       2018-02-22 17:22:18 +08:00
    @zn finder 太弱智了,网上评测是 finder 复制要 3 分钟的文件,cp 1 分钟就可以搞定了。等新版本修 bug 吧
    neilyoone
        29
    neilyoone  
       2018-02-22 18:28:37 +08:00
    NFS 不同版本的系统访问用户的 UID/GID 问题很蛋疼,时间长了挂载的 NFS 可能会出现访问问题,并不完美。
    neilyoone
        30
    neilyoone  
       2018-02-22 18:30:00 +08:00
    其实可以 SCP 搞定…… 简洁 easy
    zn
        31
    zn  
    OP
       2018-02-22 19:12:11 +08:00 via iPhone
    @deepout 苹果说 10.13.3 修复了一个连接 SMB 导致系统无响应的 bug,我升级到 10.13.3 后貌似好了,目前继续观察中。
    Admstor
        32
    Admstor  
       2018-02-23 00:47:09 +08:00
    SMB 这东西我在 win 系统里都不爱用...
    Autonomous
        33
    Autonomous  
       2018-02-24 00:14:08 +08:00 via iPhone
    建议试试 AFP
    etrock
        34
    etrock  
       2019-02-16 20:15:23 +08:00
    这个锅果然还是 finder 的。。。10.14 仍然大量出现。。
    场景就是 finder 访问 Windows 的 SMB 共享,我是访问 NAS 上文件导致,比如目录刚刚展开,finder 还在索引视频预览图,这时候你点一下视频图标上的播放,或者双击....扑街~

    试试上面朋友说的 webdav、NFS 方式,大不了 ftp mount
    deepout
        35
    deepout  
       2020-01-09 10:20:04 +08:00
    2020-01-09
    都 2020 年了,
    这 Bug 依旧在困扰我。
    myljim112233
        36
    myljim112233  
       2020-03-20 07:17:44 +08:00
    我已经受不了 samba 了,netatalk 搭了 afp 用。。。
    Android2MCU
        37
    Android2MCU  
       2022-04-14 11:44:13 +08:00
    2022-04-14
    都 2022 年了,
    这 Bug 依旧在困扰我。
    Love4Taylor
        38
    Love4Taylor  
       2022-05-28 17:23:06 +08:00
    2022 年 5 月 28 日,SMB 倒没遇到啥问题,WebDAV 遇到了什么都没干卸载不了,然后重启 Finder 之后就整个挂了 Finder 怎么都启动不了只能重启电脑。
    LoneFireBlossom
        39
    LoneFireBlossom  
       2023-10-24 15:43:29 +08:00
    macOS 12.7 的电脑 A smb 连接 macOS 14.0 电脑 B 的拷贝文件,B 直接卡死,什么都干不了,取消复制也不行,得断网然后等一会儿才能恢复。
    LoneFireBlossom
        40
    LoneFireBlossom  
       2023-10-24 16:12:03 +08:00
    而且复制的时候,整个局域网都上不了网了。
    huson
        41
    huson  
       181 天前
    @LoneFireBlossom 你解决了吗 我也遇到了这个问题
    LoneFireBlossom
        42
    LoneFireBlossom  
       181 天前
    @huson #41 没,我现在不用两个 Mac 了所以就没管了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1192 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 18:23 · PVG 02:23 · LAX 10:23 · JFK 13:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.