SafeDisk AI

SUCC 的 daemon.log 把磁盘写满了怎么办

这不是普通缓存变多了。公开问题里提到:SUCC 在 Windows 上反复下载 embedding 模型失败,然后不断把同一类错误写进 daemon.log,日志最大涨到 281 GB,磁盘被塞满后程序又崩溃、重启、继续写日志。下面先写给普通用户:怎样先把电脑救回来。

先止血

先停 SUCC,再处理大日志。

不要一上来删除数据库、锁文件或整个软件目录。先让 SUCC 停止继续写日志,再确认是不是 daemon.log 占满了磁盘。

看处理步骤 给维护者看的修复点

先确认是不是这个问题

如果你看到下面几种情况,基本就符合这次 SUCC 问题:

普通用户先按这几步做

  1. 先退出 SUCC。如果有托盘图标,右键退出;如果退出不了,用任务管理器结束 SUCC 相关进程。
  2. 不要急着删 .db.sqlite.wal.lock 这类文件。它们可能是程序数据,不是这次最该先动的目标。
  3. 找到 daemon.log。如果它特别大,先改名成 daemon.log.old,这样 SUCC 下次启动会重新生成一个新的日志文件。
  4. 如果你需要给 SUCC 作者反馈 bug,先保留日志开头和结尾各几十行,或者截个图。几百 GB 的完整日志通常没有必要上传。
  5. 确认 SUCC 已经停止后,如果只是想恢复磁盘空间,可以删除那个超大的 daemon.log.old
  6. 重新打开 SUCC 后观察几分钟。如果新的 daemon.log 又快速变大,先不要继续长期运行,等官方修复或临时关闭会触发模型下载的功能。

用 PowerShell 找大日志

下面命令只查看文件,不会删除东西。打开 PowerShell 后运行它,可以帮你找出最大的 daemon.log 在哪里。

Get-PSDrive -PSProvider FileSystem |
  Sort-Object Free |
  Select-Object Name,Used,Free

$places = @($env:APPDATA, $env:LOCALAPPDATA, $HOME)
Get-ChildItem $places -Recurse -Filter "daemon.log" -File -ErrorAction SilentlyContinue |
  Sort-Object Length -Descending |
  Select-Object -First 20 FullName,
    @{Name="GB";Expression={[math]::Round($_.Length / 1GB, 2)}},
    LastWriteTime

如果找到了几百 GB 的 daemon.log

先确认 SUCC 已经完全退出,再把下面路径换成你实际找到的文件路径:

Rename-Item "C:\把这里换成实际路径\daemon.log" "daemon.log.old"

改名成功后,空间不一定马上变多,因为文件还在。确认你不需要保留完整日志后,再删除旧日志:

Remove-Item "C:\把这里换成实际路径\daemon.log.old"

这些文件先别碰

为什么会这样

简单说,是 SUCC 遇到“模型下载失败”后,没有很好地降速和限流。它不断重试,不断写错误日志;日志越来越大,磁盘满了以后,程序自己的数据文件也写不进去,于是崩溃。看门狗又把它拉起来,问题就循环了。

给 SUCC 维护者看的修复点

来源说明

这页根据公开 GitHub issue 整理。

事实来自 SUCC 的公开问题描述:Windows 11、中国大陆网络、Xenova/all-MiniLM-L6-v2 下载失败、daemon.log 增长到 281 GB、磁盘满后反复重启。上面的处理步骤是 SafeDisk 根据这个场景整理的保守处理建议。

可复制回复

如果你要回复这个 SUCC bug,可以用这段。

这段只保留普通用户和维护者都能读懂的重点。

我这里看起来像 daemon.log 无限增长导致的磁盘写满问题。建议先让用户停止 SUCC,找到超大的 daemon.log,保留开头和结尾少量日志后再删除旧日志释放空间;不要让用户直接删除数据库、WAL 或 lock 文件。

程序侧建议加三类保护:
1. daemon.log 日志轮转和大小上限;
2. 相同 embedding 下载失败错误的去重、限流和冷却时间;
3. 磁盘空间不足时暂停索引和模型下载,避免看门狗高频重启后继续写满磁盘。
不确定哪些能删
人工判断

不确定哪些文件能删?

可以提交请求,把最大的文件列表、daemon.log 路径、磁盘剩余空间发来。我们会把文件分成“可以删”“先别删”“需要确认后再动”。