Mac 系统数据涨到一百多 G,查下来是 ToDesk 一直在写崩溃转储,删掉以后还会再长吗?

Mac「储存空间」页面里那截灰色的「系统数据」,点进去只给一个总数,看不出里面是什么。ToDesk 的崩溃转储多半就算在这一截里,目录是 /Library/Application Support/ToDesk/dumps。有用户在里面数出 5 万多个 dump、约 55 GB,涨到一百多 G 的报告也不止一份。

这个路径官方没写过。ToDesk 帮助中心的「怎么找到客户端日志」只讲了 Logs 文件夹(Mac 上在 ToDesk.app 右键「显示包内容」里),dumps 一个字没提。下面说的目录和成因都来自用户报告,动手前在自己机器上量一下。

量一下

sudo du -sh "/Library/Application Support/ToDesk/dumps"
sudo find "/Library/Application Support/ToDesk/dumps" -type f | wc -l
# 最近 10 分钟新增了多少个
sudo find "/Library/Application Support/ToDesk/dumps" -type f -mmin -10 | wc -l

不想敲命令的话,在访达里按 ⇧⌘G,粘贴这个路径,再对 dumps 文件夹「显示简介」,也能看到大小。文件多的时候要等一会儿才算得完。

最后那个数字如果不是 0,说明它还在持续写。再看一眼进程:

ps -axo pid,etime,comm | grep -i todesk

etime 是进程已经跑了多久。哪个进程连着看几次都只有几秒,就是在崩了又被拉起来。

系统的诊断报告里为什么没有

这份 GitHub 上的用户报告写得比较细:ToDesk_Session_Proxy 注册锁屏/注销通知后大约 10 秒就崩,launchd 的 KeepAlive 马上把它拉起来,于是每 10 秒一轮。ToDesk 自带 Breakpad 写 dump,崩溃不走系统那套。所以 ~/Library/Logs/DiagnosticReports 里看不到记录,在「控制台」里翻崩溃报告也找不着。

报告里的环境是 macOS 27 beta 加 ToDesk 4.9.7.1,作者升到 4.9.7.2(build 2064)后不再产生新 dump。这只是一台机器上的结论,也有人换了版本和系统照样碰到,所以别把哪个版本号当成标准答案。

清理

只在菜单栏退出 ToDesk 不够,后台服务会接着跑。找出它装的启动项:

ls /Library/LaunchDaemons /Library/LaunchAgents | grep -i todesk

按列出来的文件名把服务停掉(尖括号换成实际文件名):

sudo launchctl bootout system "/Library/LaunchDaemons/<文件名>.plist"
launchctl bootout gui/$(id -u) "/Library/LaunchAgents/<文件名>.plist"

停完再清空目录,目录本身留着:

sudo find "/Library/Application Support/ToDesk/dumps" -type f -delete

dump 是每次崩溃时留下的现场快照,给开发排查用的。ToDesk 正常运行用不着它们,删掉不影响登录和设备列表。还有一点要留意:同一份报告里提到,停掉服务后只要再打开 ToDesk.app,它会自己把服务注册回去,所以清理期间别顺手点开它。

打算找官方客服的话,删之前用 ls -t 挑两三个最新的 dump 拷出来,附在工单里比文字描述有用。

升级以后盯一阵

官网下载页上 10 月的版本是 5.2.3.0(10 月 19 日),Mac 和 Windows 一样。官方 Windows 更新日志最近几版写的都是「修复部分已知bug」,没有哪条点名 dumps 或崩溃循环,修没修好只能自己观察。按上面那份报告的说法,新安装包会把 launchd 服务重新注册上,所以升级后服务又起来了是正常的。装完隔半小时,把那条 find 改成 -mmin -30 再跑一次,结果一直是 0 就算稳了;还在涨,就把服务停着等下一版。平时很少用 ToDesk 的,干脆卸掉更省心。

Windows 上有没有同样的目录、在哪,官方页面里没找到说明,我也没在 Windows 上试过,这里就不写了。

别的东西吃盘也能这么查

sudo du -xhd 1 /Library 2>/dev/null | sort -h | tail -n 15
du -xhd 1 ~/Library 2>/dev/null | sort -h | tail -n 15

哪一层大就往下钻一层,换个路径接着跑。终端没开「完全磁盘访问权限」时,~/Library 下有些目录读不到,数会偏小,到「系统设置 → 隐私与安全性」里给终端勾上就行。

站里之前有个 iPhone 上 dasd 吃满 CPU 的帖子,也是系统进程反复出问题,平台不同,思路差不多。

你们机器上的 dumps 是从哪个版本开始涨的,升到 5.2 之后停了吗?