Triverse AI 生成任务中断后,优先要做的不是立刻用相同参数重跑,而是从本地日志确认程序退出前发生了什么,再去输出目录判断有哪些中间结果可以继续用。日志分析能区分网络中断、内存不足和输入文件格式错误这三类常见原因;恢复策略则根据错误类型决定回退生成参数还是只重试网络请求。桌面版和命令行方式在日志位置、文件命名上各有差异,但排查思路一致。
日志位置随安装方式不同而不同,先按文件名和修改时间用 find 定位。恢复的关键是区分程序主动报错退出和进程被系统终止:前者看日志里的 error、timeout 关键行,后者检查系统内存和磁盘空间。输出目录里带部分前缀的网格文件可能是可复用中间结果,复制出来检查后再决定是否重提。重提时先降低面数、关闭细分选项,监控用 tail -f 即可。具体日志格式需结合本机实际安装确认。
找到Triverse AI的日志存储位置
Triverse AI 的日志文件通常以 triverse、generation、render 或任务 ID 命名,扩展名多为 .log 或 .txt。桌面版一般写在用户主目录下的配置/缓存目录里;命令行方式通常直接把进度输出到标准输出,如果你重定向过,日志就在当时的输出文件里。不确定位置时,优先按修改时间找最近一小时改动过的日志文件:
find ~ /var/log /tmp -type f \( -name "triverse*.log" -o -name "*generation*.log" \) -mmin -60 2>/dev/null
如果当前用户没有权限读取 /var/log,命令可能没有输出。可以把范围缩小到 ~/.config、~/.cache 和当前项目的输出目录。找到后先记录文件路径,后续所有排查都基于这个文件。
从日志中提取关键错误行
拿到日志文件后,先用 grep 过滤出错误级别的行。常见的日志行以时间戳开头,后面跟 INFO、WARN、ERROR 等字母,有些实现会直接写 "Error during generation: ..."。过滤时同时匹配大小写:
grep -i -E "error|exception|timeout" /log路径/triverse.log | tail -80
根据关键词区分三种情况。网络中断通常出现 timeout、connection reset、dial tcp 这类词,如果是自托管,还需要检查服务端日志;内存不足经常表现为 out of memory、allocation failed,或者日志里根本没有错误就直接退出,此时应同时查系统日志和进程是否被系统杀死;格式错误则会有 invalid、parse error、unsupported 等字样,指向输入文件或模型描述文本。
如果日志内容很少,只有 INFO 没有 ERROR,要怀疑进程是被 OOM killer 杀掉的,用系统日志再确认。
识别中断时已完成的输出文件
确认错误类型后,回到输出目录看看生成了哪些文件。不要直接删除或覆盖,先用 ls 按时间排序:
ls -lt `--time-style`=long-iso 输出目录/
重点看中断前几分钟内写入的文件。如果存在 .obj、.glb、.fbx 或 .png、.usd 这类文件,并且文件大小不为 0,可以尝试用第三方查看器打开判断是否可用。有些实现会把中间产物放在以任务 ID 命名的子目录里,原始网格、材质贴图和预览图分开存放。验证完整性的安全做法是把文件复制到另一个目录再打开,避免查看器写入额外元数据破坏原文件。
贴图尺寸或网格顶点数明显偏小、预览图只有占位色的文件,通常只是半成品,不适合直接进入后续流程,但可以手动截取其中一部分作为参考。
重新提交任务时的参数回退策略
确认错误原因后,重提时要避免使用同一组高风险参数。网络中断直接重试即可,但连续失败三次就应该降低并发;内存不足时优先降低输出面数,其次关闭超分、细分等吃显存/内存的选项,最后才是换小尺寸输入。格式错误必须修正输入文件再重提,否则会再次失败。
通用做法是:把面数降一个量级、关闭不必要的后处理开关、暂时取消多任务排队,每次只跑一个生成任务。修改参数后先加载原输入文件校验格式,再提交新任务。如果项目支持增量输出,保留原输出目录路径,避免重复写入导致命名冲突。
自动化监控生成状态的方法
长时间生成任务建议开启日志跟踪。终端里用 tail -f 实时查看日志新增内容:
tail -f /log路径/triverse.log
担心日志滚动丢失错误,可以再加一层过滤,只显示 ERROR 和 WARN:
tail -f /log路径/triverse.log | grep -i -E "error|warn|timeout"
也可以用 while 循环配合 grep 做简单的退出检测,在生成完成后触发后续处理。桌面版用户建议打开日志窗口或确认日志开关已启用;命令行任务则应先确认日志确实写到磁盘而不是只输出到终端,否则 tail -f 会没有内容。