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

困扰多年,终于知道为什么 macOS 用久了 iCloud 会出现上传/下载/同步卡死了,以及 icloudd、bird 进程飙升

  •  1
     
  •   milk0829 · 2022-03-20 12:07:43 +08:00 · 10918 次点击
    这是一个创建于 739 天前的主题,其中的信息可能已经有所发展或是发生改变。

    困扰多年,终于知道为什么 macOS 用久了 iCloud 会出现上传 /下载 /同步卡死了,以及 icloudd 、bird 进程飙升

    为什么要特地跑来 V2EX ?

    在我被 macOS 的 iCloud 的长期折磨下,让我迫不得已一年必须重装系统 2 次以上(仅仅是估算,甚至半年就需要重装两次),故此,特地写一篇文章记录下我的苦衷,希望网上和我同样问题的“同行”可以早日从中解脱

    问题复现

    设备使用情况

    • MacBook Pro (16-inch, 2019) 官入
    • 重度 TimeMachine ( 1T ) 、iCloud ( 200G ) 依赖者
    • iCloud 中桌面和文稿占用大概仅 60G ,但是子文件夹和文件非常复杂(本人 IT 行业、做过的项目都不会删除)

    初步症状

    和我 macOS 一样问题的,大多会有以下情况:

    • 在你的 iCloud 设置中,几乎把能备份的选项全都开启了(特别是桌面和文稿)
    • 你的 Apple 设备里,符合 iCloud 备份的条件的文件内容十分庞大(例如:桌面或文稿,几十 G 或者上百 G )
    • 你的 macOS 经常或偶尔显示 iCloud 同步进度的小窗口,显示着正在同步几十 G 的文件,但是偶尔会发现进度条卡死不动,像断网了一样(甚至手动断网之后仍发现后台进程仍在疯狂的占用你的系统资源)
    • 你可能会去用一些技术手段尝试去查看造成这些问题的进程是什么,如何杀死,到底吃了我多少资源:最基本的“活动监视器”可能会发现 bird 、cloudd 、或者聚焦搜索的相关进程在你的 CPU 或 IO 读写占据榜首; brctl 命令查询发现仍在进行大量的同步进程;或者在 Google 找到了些 macOS 专用的 iCloud 测试上下传工具仍是无济于事;甚至利用上了你的 unix 知识给这些进程提权或着强行 rm 了 iCloud 缓存也无济于事
    • 你的电脑甚至什么都不做都长期发热,风扇满速转(针对 intel 用户)
    • 你的 Finder 移动、复制、删除、新建这些操作变得缓慢

    后期症状

    对于以上情况(初步症状),如果长达半周都没能完成同步任务,仍然卡在“已同步“30G/47.64G”或者”47.64G/47.64G”,可能会发生更严重的情况(因为我不知道别的 macOS 用户有没有这种我这么惨,所以用上了“可能”两字):

    • 你可能会发现你的你的 Finder 移动、复制、删除、新建这些操作已经不再是缓慢能形容了,轻则操作耗时半分钟,病入膏肓的时候 Finder 直接无响应,哪怕强行杀死进程也不能解决
    • 你可能会发现在刚开机的时候或者杀死 Finder 进程后,你的桌面图标迟迟不能加载出来,轻则加载几分钟,重则加载半小时以上
    • 因为你的读写基本被完全扼制住了,你也无法退出 iCloud 让他停止这些同步任务
    • 你的 Time Machine 可能会伴随这些问题一起宕机
    • 最严重的情况:无法开机,你的 macOS 开机直接卡进度条(登陆后的进度条),而且你尝试 Command + V 开机也查看不到为什么会卡住,就如同 iOS 设备存储空间爆满无法开机一样,这时候通过安全模式是还可能进入系统的,但好景不长,安全模式甚至也会逐渐卡死,你唯一的能勉强挽救的操作只有:迁移助理、时间机器、重装系统(如果完全病入膏肓只剩重装系统,因为迁移助理和时间机器已经卡到无法操作了)

    什么情况可能会加重症状?或者减少挽救的机会?

    • CleanMyMac (特别是优化模块里面的功能):这里不是让大家避免用这个软件,在没有上诉问题的情况下你随意使用 CleanMyMac 是没有问题的,但是如有上诉问题,你的清理系统操作和优化操作只会加剧这些悲剧(因为很可能造成 macOS 这些同步进程的守护进程被杀死或者被打乱得全部重新检索全部文件,而且检索过程已经占用你电脑很长时间了,新的文件变更早就在检索队列排上长队了,任务量只会越累积越多)
    • 网络情况差,同步过程中因为办公需要合盖断网,或者关机( iCloud 同步进程不是全部检索完文件才开始上传的,而是边检索边上传,在上传进度不变的时候就是在检索,在上传进度变化的时候就是文件不需要同步跳过,或者已上传完毕,而网络连接不同只会造成这些任务被滞后处理,这就是为什么你查看这些守护进程时候你会发现这些进程 Sleep 状态)

    为什么会造成这些问题?如何修复或避免?

    当我一次次重装系统后,我决定彻底放弃同步桌面和文稿,并且全部备份好 iCloud 数据,请求了苹果客服将我 iCloud 完全抹除,抱着侥幸的心理想再开启全部 iCloud 同步,而这时候 iCloud 也提示了您的“文稿”或“東面”文件夹中的文件太多、单个文件夹中的文件太多实者嵌套文件夹太多。

    http://10101.top/2022/03/19/b6661fb7f8b85.png

    这个提示在 百度 和 Google 搜索是都搜索不到这种情况的,或许验证了我的一个想法:你的 iCloud 早已负重不堪,当然苹果也不应该在你开通使用 iCloud 空间情况下劝你不要再使用,而是一如既往拼了老命给你做着本该做的工作,只有当你完全停用抹除它再次开启时候才能继续尝试使用时才会警告和阻止你开启同步桌面和文稿(也可能不会提示,除非你像我一样对电脑使用需求和 IO 4k 读写非常高的时候)。

    当你看完这篇文章到这里,如果你觉得和你的 macOS 情景十分相似,就尽快备份好你的 iCloud 数据暂时退出你的 iCloud 或者 Apple ID 吧,直到你的电脑 bird 和 finder 传输窗口的同步进程彻底消停,再由你做主选择开启还是停用吧。如果错误的地方,敬请原谅指出。

    第 1 条附言  ·  2022-03-20 15:50:12 +08:00

    因为工作需要,无法一一回复评论,所以这里补充几点:1.需要评论的朋友建议结合评论区再进行评论,建议查看15、16楼,算是对文章的补充2.这篇文章不属于技术教程,全球目前各大技术论坛也没有解决完美解决该问题的技术教程,文章目的只是希望和我同样问题的少走弯路;3.这篇文章不是劝大家不使用云上贵州,即便我现在也仍照常频繁使用着iCloud也不做降级操作;4.明辨是非,独立思考,大家若没有这类问题固然是好事,但否定别人使用所存在的问题可未必是合理的做法

    51 条回复    2022-05-27 14:19:21 +08:00
    Elix
        1
    Elix  
       2022-03-20 12:50:24 +08:00
    我近一年来试图使用 iCloud 来同步一些工作上需要用到的文件,大约 20-40G 左右,然后发现了一个诡异的现象。
    当我在本地的删除或者移动了某些文件夹以后,iCloud 会在某个不确定的时间点恢复这些文件夹以及部分里面的文件。并且以恢复的时间作为新的文件夹的更新时间。
    这对文件排重来说造成了非常大的困扰。

    起初,我怀疑是因为我给这个同步文件夹同时设置了坚果云的同步导致的,但是我在停用了坚果云的同步以后这个现象还在不断重复,所以排除了这种可能。
    wzw
        2
    wzw  
       2022-03-20 12:54:14 +08:00 via iPhone
    我还准备总 iCloud 2t 家庭备份照片
    milk0829
        3
    milk0829  
    OP
       2022-03-20 12:57:27 +08:00
    @wzw 照片不受影响 单独队列,我照片也是占据最大,而且照片同步这项任务根据大多数用户习惯 iOS 和 iPad OS 会优先替其他设备完整这项任务。
    NexTooo
        4
    NexTooo  
       2022-03-20 12:59:38 +08:00
    感谢分享,让我正在考虑重度使用 icoud 的人谨慎了
    Elix
        5
    Elix  
       2022-03-20 13:00:00 +08:00
    @wzw 同步照片倒是从来没有出过什么问题
    milk0829
        6
    milk0829  
    OP
       2022-03-20 13:01:14 +08:00
    @Elix 是的 我用到后期也经常遇到,轻则项目碎片化,有的项目在云上 down 不下来,有的则在本地;也有文件版本不同的情况,最严重的一次是项目里面文件丢失了,也恢复不了
    Elix
        7
    Elix  
       2022-03-20 13:05:38 +08:00
    @milk0829 楼主你的 iCloud 是云上贵州还是外区账号啊?
    milk0829
        8
    milk0829  
    OP
       2022-03-20 13:07:16 +08:00
    @Elix 云上贵州
    MacDows
        9
    MacDows  
       2022-03-20 13:08:08 +08:00 via Android
    买 dropbox 解决即可类似问题
    milk0829
        10
    milk0829  
    OP
       2022-03-20 13:16:52 +08:00
    @MacDows 还是要看使用情况,这种哪怕使用私有搭建云盘也是属于换汤不换药做法。而不是解决源头使用者需求庞大和当今网络传输始终不如本地介质传输性能的问题。
    Building
        11
    Building  
       2022-03-20 13:29:05 +08:00
    经过多次 iCloud 把我的文件同步错之后,我就移除了,最夸张的是一些文件我每按一次保存,iCloud 就会把整个文件重新上传一次,我惊呆了
    ABCDiSDR
        12
    ABCDiSDR  
       2022-03-20 13:29:45 +08:00
    @milk0829 请求了苹果客服将我 iCloud 完全抹除,这是个什么操作,能详细说说么?我觉得我可能用的上
    Elix
        13
    Elix  
       2022-03-20 13:36:10 +08:00
    @milk0829 还是上 NAS 吧
    milk0829
        14
    milk0829  
    OP
       2022-03-20 13:37:09 +08:00
    @ABCDiSDR 这么做是为了我本机设备能直接跳过检索将全部文件同步上去,也是为了以防我自己手动删除云上的东西,本地的文件也被一同自动删除。所以我电话联系苹果客服要求帮忙清空我 iCloud 数据,并表明我这边无法完成这项操作,且已经完全做好备份准备,他那边就会帮你人工删除。
    dingwen07
        15
    dingwen07  
       2022-03-20 13:41:48 +08:00
    盲猜之后会有人来说不要用云上贵州,手动 doge

    其实大多数云服务都不适合用来存编程项目,代码请用 GitHub 等服务存储。
    当然这和 iCloud Drive 不好用没什么关系,它就是不好用。
    OneDrive 有原生 ARM 之后好多了,就等苹果把 FileProvider 的性能提升上去了(不过考虑到第三方云存储和 iCloud 云盘的竞争,很怀疑苹果会不会修)
    milk0829
        16
    milk0829  
    OP
       2022-03-20 13:47:28 +08:00   ❤️ 1
    @dingwen07 确实可能。所以文章中我加了大量的“可能”两字“,目的还是避免自己一概俱全定义所有用户需求和使用情况,也是避免给读者传播焦虑和劝退的目的,写这篇初衷只是想给那些 Google 、stackoverflow 、Apple 社区同样情况的人能起到少走弯路的目的
    felixcode
        17
    felixcode  
       2022-03-20 13:49:02 +08:00 via Android   ❤️ 1
    同步 /备份不可靠的话,比不同步 /不备份更加危险。
    czhu
        18
    czhu  
       2022-03-20 13:57:14 +08:00
    这并没有诊断出根本原因呀
    我 500G 的文档并没有遇到你说的问题
    ABCDiSDR
        19
    ABCDiSDR  
       2022-03-20 14:06:09 +08:00
    @milk0829 清空我 iCloud 数据,这个数据包不包括以下内容:gamecenter 存档,mac 或者 iphone 使用的软件上传的配置,曾经使用后来卸载掉的 app 在设备中残留的文件(夹)例如搜狗输入法。或许问苹果客服更合适,但是他们的专业性与天才完全名不符实。剪贴板接力单向异常半年了都没给我解决。
    movq
        20
    movq  
       2022-03-20 14:09:59 +08:00 via iPhone
    我还以为是有什么技术教程

    结果到最后就最后一段话有用,还是劝别人停止同步
    milk0829
        21
    milk0829  
    OP
       2022-03-20 15:05:57 +08:00
    @movq 事实上,全球所有关于这个问题的技术教程,没有一个是解决方案,我放教程上来就是给大家再重复造轮重新再让大家走一遍弯路
    milk0829
        22
    milk0829  
    OP
       2022-03-20 15:07:31 +08:00
    @felixcode iCloud 不是我唯一方案,如果放弃 iCloud 的方便,time machine 远比 iCloud 安全
    duxiansen
        23
    duxiansen  
       2022-03-20 15:08:20 +08:00   ❤️ 1
    专业的需求还是靠专业的软件来做吧。代码用 git ,老旧项目直接存档。几十 G 的琐碎文件,就算本地处理都挺费劲
    milk0829
        24
    milk0829  
    OP
       2022-03-20 15:14:19 +08:00
    @czhu 可以仔细看评论区,我一再强调因人而异,就和 100 克的棉花和 100 克的铁故事一样,同样有的人用的是由几亿个几 k 文件组成 100G ,需要没日没夜编译构造项目反复读写,一年就可以完整的读写整个磁盘五六次以上、有的人对于同样容量 100G 仅是图形化可见的操作,对 iCloud 压力并不大
    milk0829
        25
    milk0829  
    OP
       2022-03-20 15:15:05 +08:00
    @duxiansen 各有各的好处吧...至少再出问题那段期间 git 拯救了我许多项目
    charlie21
        26
    charlie21  
       2022-03-20 15:19:52 +08:00
    云的悲剧
    youthfire
        27
    youthfire  
       2022-03-20 15:25:51 +08:00
    我是家庭 2T 共享方案,用了快 2 年了,不管是手机还是笔记本都是自动同步的,而且非常及时,没有遇到 op 提到的这些问题。
    要说不满意的,就是新手机用 icloud 云恢复会断,不如直接两台手机放一起传输,另一个就是直接手动从网上 icloud 相册下载照片速度非常慢。除此以外,没有功能性问题。
    用的是云上贵州,也没有设定特殊规则。
    czhu
        28
    czhu  
       2022-03-20 15:36:01 +08:00
    @milk0829 建议你写明白了“子文件夹和文件非常复杂”,这个太模糊了。
    这样写法好比 “XXX 车不靠谱,原因是我的路况很复杂”
    容易误导,让大家以为 iCloud 都不靠谱。
    milk0829
        29
    milk0829  
    OP
       2022-03-20 15:39:26 +08:00 via iPhone
    @czhu 谢谢,我其实很想修改文章,避免我一直回复评论,其次我也很少跑来 V2EX ,但是没找到该功能。
    liw2756
        30
    liw2756  
       2022-03-20 15:53:18 +08:00 via iPhone
    上个月把几百 g 的文件移到硬盘以后就把 mac ,ipad ,iphone 的 icloud 都关了,总是莫名其妙的上传下载,有时间你点下载几 m 的文件半个小时都不动下不下来,有时候又发现它在后台不停地往硬盘塞文件。 被它折磨一年多了,还没有好的办法,以后就隔空传送吧
    ncepuzs
        31
    ncepuzs  
       2022-03-20 16:16:23 +08:00
    好家伙,还以为浏览器加载 CSS 出错了,强制刷新了好几遍

    NodeSans
        32
    NodeSans  
       2022-03-20 16:19:59 +08:00
    我是之前 icloud 用来备份代码,一开始好好的,直到后面他开始备份前段的代码
    众所周知前端的代码细碎的文件很多,一个项目都要达几百 MB ,一旦用 icloud 开始备份,需要的时间就会非常长。然后 Mac 就会长时间 CPU 飙升(不过好像 Catalina 上 iCloud 备份 CPU 占用没有这么激进)
    milk0829
        33
    milk0829  
    OP
       2022-03-20 16:20:06 +08:00
    @ncepuzs 🤣我是从我的笔记软件写完 markdown 再复制过来的,所以标题也显示在文章里
    milk0829
        34
    milk0829  
    OP
       2022-03-20 16:23:12 +08:00
    @NodeSans 是的👍,我的另外一台 2013 pro Catalina 确实对应上你说的话
    evilStart
        35
    evilStart  
       2022-03-20 17:01:02 +08:00 via Android
    上诉问题 -> 上述问题
    vzchn
        36
    vzchn  
       2022-03-20 17:12:42 +08:00
    我的文稿只有 7.91GB ,目前没感觉到有问题。因为我只在电脑上保留当前公司的文稿,历史工作的文稿都使用其他方式备份。
    MojueJ
        37
    MojueJ  
       2022-03-20 17:57:40 +08:00
    感谢分享
    milk0829
        38
    milk0829  
    OP
       2022-03-20 19:34:04 +08:00 via iPhone
    @evilStart 感谢纠正
    yxc
        39
    yxc  
       2022-03-20 19:49:00 +08:00 via iPhone   ❤️ 4
    汗,一句话就能写明白意思了
    大量小文件频繁读写,导致大量同步进程在运作,最后电脑性能跟不上了。
    你这种场景真的不适合同步,如果是实时保存数据的软件,你每敲一个字母,都会引起 10 几个 g 的文件改变,前一分钟的同步还没完,后一分钟的更新马上就来了,哪个同步软件会吃得消。
    iCloud 已经是增量同步的了,如果你试试微云,天翼云这种全量的,挂的更块。
    我用天翼云同步我的一个 500m 的.one 笔记,没写一个字,都会触发一次全量同步。

    iCloud 确实是不好用。。。但是,你的这种场景应该不是 iCloud 的问题,你换成 onedrive 或者其他盘,应该也会出现类似。
    heyjei
        40
    heyjei  
       2022-03-20 19:57:39 +08:00   ❤️ 1
    文件数太多了是一个最大的问题,所以坚果云的检测到你用坚果云同步代码的话,就直接跳出来提示你不要同步代码
    michaelzxp
        41
    michaelzxp  
       2022-03-20 20:02:06 +08:00
    15 年以来开的 2TB iCloud ,一直用大于 800GB 的文档备份,发现每次换电脑都会丢失部分数据,除此之外没发现楼主问题
    HannibaI
        42
    HannibaI  
       2022-03-20 23:16:16 +08:00
    所有会产生临时文件、频繁读写的目录我都不会放 iCloud 里
    vvjyun318
        43
    vvjyun318  
       2022-03-20 23:51:16 +08:00
    @milk0829 在美国用千兆上下行对等的宽带 iCloud 几百 GB 的文件上传下载同步多设备也没啥问题
    vvjyun318
        44
    vvjyun318  
       2022-03-20 23:54:25 +08:00
    @milk0829 云上贵州感觉体验特别差,surge 流量监控发现还是有部分云上贵州 iCloud 服务用的海外香港日本美国服务器,恢复个 iCloud 备份 20GB 下载了三四天才搞定,开全局代理貌似也无法全部代理 iCloud 的流量,国内运营商千兆宽带上行只给 30 兆用起来特别难受, 在美国 iCloud 备份 100 多 GB 千兆上下行对等十几分钟就恢复好了.
    seanzxx
        45
    seanzxx  
       2022-03-21 00:19:13 +08:00
    我把项目文件放在 Document/Workspace 里面,大约 20GB 左右,iCloud 同步,
    曾经出现过不同步的情况,比如在桌面上放一个照片,但登陆 iCloud Web 版却看不到,后来把 iCloud 清空了,这个问题解决了
    后来出现的问题就很烦了,项目文件里面经常会随机的下载一些旧文件,比如一个文件本地删了,过一阵子发现这个文件又出现了;又比如我修改了一个文件 app.js ,过阵子本地出现一个 "app.js 1"的文件,内容是修改之前; git 也受影响,出现一些奇怪的 branch 和 tag ,比如 "develop 1", "master 2"

    现在已经不折腾 iCloud 同步复杂目录了
    penll
        46
    penll  
       2022-03-21 10:11:49 +08:00
    之前,开启过一次文档、文稿同步 icloud ,后面被里面同步逻辑搞得崩溃。

    有点 itunes 那一套同步鬼才逻辑
    反人类
    totoro625
        47
    totoro625  
       2022-03-21 10:41:57 +08:00
    对于子文件夹和文件非常复杂的目录,例如 node_modules ,可以考虑把整个目录丢在一个虚拟磁盘里面,用云同步同步虚拟磁盘
    例如 VeraCrypt 和 bitlocker
    bluefountain
        48
    bluefountain  
       2022-03-22 13:40:06 +08:00
    我用群晖,硬盘双备加定期冷备,没这些问题。
    maizero
        49
    maizero  
       2022-03-22 15:16:14 +08:00
    哥们,你这个还不算痛苦的,我这个多台 Mac ,且桌面、文档的文件量超过 500G 的才叫痛苦。
    基本上我有 2 台笔记本、1 台台式,开了 iCloud 2T ,也是为了方便,但是发现这个同步逻辑非常的莫名其妙的时候,我就放弃了。
    网速不是不快,都是千兆。
    设备不是不新,都是每年最新款。
    所以,只能说水土不服吧。
    RiverYKB
        50
    RiverYKB  
       2022-05-08 11:33:21 +08:00
    您可以提供一下您无法同步的目录 tree 嘛,我很好奇究竟是多大的规模会使 iCloud 同步不动?
    linzh
        51
    linzh  
       2022-05-27 14:19:21 +08:00
    巨量小文件的同步是会这样的,我的 onedrive 也是这样烂掉的,看来这一点上大家都一样
    解决办法:小文件(多数是项目)不放进去同步,已经放进去的打个 zip 包,重点是减少文件数量而不是大小
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   998 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 20:00 · PVG 04:00 · LAX 13:00 · JFK 16:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.