Actor 删除之后发生了什么?Agent Substrate 快照垃圾回收现状与规划全解析
Actor 删除之后发生了什么Agent Substrate 快照垃圾回收现状与规划全解析【免费下载链接】substrateAgent Substrate: the core system项目地址: https://gitcode.com/GitHub_Trending/substrate7/substrateAgent Substrate 是面向 Agent 的高密度沙箱执行运行时。当你删掉一个 Actor 后它留在对象存储里的快照内存 磁盘状态并不会自动消失。本文带你梳理Agent Substrate 中Actor 删除的完整流程、快照垃圾回收snapshot garbage collection现状以及 Roadmap 里规划的自动清理能力帮你彻底理解这套系统的状态生命周期。为什么删 Actor不只是删一条记录在 Agent Substrate 里一个Actor是 ActorTemplate 派生出的运行实例。它的状态分为两类内存快照Memory Snapshot进程精确的 RAM 状态工作卷 / 磁盘Working Volume容器可写层里的文件两者被打包成一个版本化快照持久化在对象存储GCS 或 S3中。也就是说每个 Actor 背后可能挂着几百 MB 甚至几 GB 的快照数据。因此删除 Actor本质上要回答两个问题控制面里的记录如何干净地移除对象存储里的快照字节如何回收Actor 删除的完整流程现状删除入口在控制面的 DeleteActor 工作流中整个过程是幂等的可分七步步骤做什么关键方法① 标记删除把 Actor 与其卷置为DELETINGensureMarkedDeleting② 终止负载通知节点上的 atelet 结束沙箱进程ensureAteletTerminated③ 解挂卷卸载外部卷ensureVolumesDetachedForDelete④ 释放 Worker把 Worker 归还到 WorkerPoolensureWorkerReleased⑤ 删卷删除 Actor 的外部卷ensureVolumesDeleted⑥ 释放快照删除对象存储里 Actor 的快照前缀ensureExternalSnapshotsReleased⑦ 收尾从数据库删除记录finalizeDeleted关键设计尽力而为 可重试。任何一步失败都会把错误返回给调用方重试而 Actor 记录会留在库里保持DELETING状态等待下次重试补齐。这正是快照垃圾回收现状的核心——清理依赖工作流被反复驱动而不是一个独立的后台 GC 进程。快照垃圾回收是怎么做的现状快照回收的具体动作在 ensureExternalSnapshotsReleased先通过 actorSnapshotStoragePrefix 算出这个 Actor 自己写过的所有对象的前缀——包括它上一次拍的快照、悬停中写到一半的快照以及崩溃时遗留的快照。再调用对象存储的 DeletePrefix把这个前缀下的对象逐个删掉并发 8。这里有一条精妙的所有权规则一个 Actor同一时间只拥有一个它自己的快照。如果快照是从某个 Tag 借来的Tag 是快照的保留锁见 架构文档 Phase 3它归 Tag 所有不会随 Actor 删除而被删。换句话说Tag 比 Actor 活得久被 Tag 固定的快照会留存。当前的边界与缺口诚实地说Agent Substrate 目前没有独立的快照垃圾回收器。清理逻辑内联在删除工作流里且源码留下了明确的 TODO// TODO: Ensure GC collects all the remaining resources if the cleanup fails.—— workflow_delete.go由此暴露出几个现实缺口⚠️失败残留若清理中途失败且不再重试对象存储里可能残留孤儿快照。⚠️无后台 GC没有周期性扫描哪些前缀已无人引用的机制。⚠️无 TTL / 保留策略快照缺少存活多久后自动回收的概念。这些正是 Roadmap 要补的部分。未来规划从 Roadmap 看垃圾回收的下一步docs/roadmap.md 里有几项直接对应当前缺口存储StoragePolicies to drive retention of old snapshots and controller(s) to do automated cleanups即引入快照保留策略并配套一个控制器做自动清理。Actor 管理ComputeAutomated Garbage Collection: Background cleanup of idle actors based on configurable TTL即按可配置 TTL对空闲 Actor 做后台自动垃圾回收。生命周期澄清Clarify the actor lifecycle, including what data is retained across which events即明确哪些事件会保留哪些数据让快照保留变得可预期。整体方向是把删除时顺带清理升级为策略驱动的、控制器化的、带 TTL 的自动 GC。新手上手如何观察一次 Actor 删除用 kubectl-ate 触发删除再观察控制面的状态流转即可。参考 架构文档 Phase 4: Deletion默认只有ACTOR_STATE_SUSPENDED或ACTOR_STATE_CRASHED状态的 Actor 可被删除。打开any_state标志后任意状态含RUNNING、PAUSED都能直接删——工作流会先终止容器、解挂卷、释放 Worker再删记录。删除成功后Actor 的快照状态即被垃圾回收。小结✅现状Actor 删除时的快照回收内联在幂等工作流里按前缀删除清理对象存储并尊重 Tag 的所有权。✅可靠性靠尽力而为 重试保证最终一致失败会停在DELETING状态等待重试。规划Roadmap 已明确要引入保留策略 后台 GC 控制器 TTL让快照垃圾回收从顺手清理走向自动治理。理解这一层你就抓住了 Agent Substrate 状态生命周期管理的关键计算资源靠 Worker 快速复用而真正的垃圾回收战场在对象存储里的快照。【免费下载链接】substrateAgent Substrate: the core system项目地址: https://gitcode.com/GitHub_Trending/substrate7/substrate创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

uni-app(uni-app-x)自定义导航栏组件 uni-nav-bar 完全指南:安全区适配、三区布局与 slot 扩展

uni-app(uni-app-x)自定义导航栏组件 uni-nav-bar 完全指南:安全区适配、三区布局与 slot 扩展

uni-app(uni-app-x)自定义导航栏组件 uni-nav-bar 完全指南:安全区适配、三区布局与 slot 扩展 【免费下载链接】uni-app A cross-platform framework using Vue.js 项目地址: https://gitcode.com/gh_mirrors/un/uni-app uni-nav-bar…

2026/9/20 13:09:01 阅读更多 →
SSA优化CNN-LSTM-Attention的多变量回归预测实战解析

SSA优化CNN-LSTM-Attention的多变量回归预测实战解析

简介:一份基于麻雀搜索算法(SSA)优化CNN-LSTM-Attention的多变量回归预测完整项目实例技术文档,适合具备一定Python基础、从事数据科学或人工智能开发的工程师与研究人员,内容从项目背景、目标意义、挑战与方案切入,详细讲解模型架…

2026/9/20 13:08:00 阅读更多 →
RPCS3 中文补丁完整配置指南:4 个步骤搞定 PS3 游戏汉化

RPCS3 中文补丁完整配置指南:4 个步骤搞定 PS3 游戏汉化

RPCS3 中文补丁完整配置指南:4 个步骤搞定 PS3 游戏汉化 【免费下载链接】rpcs3 PlayStation 3 emulator and debugger 项目地址: https://gitcode.com/GitHub_Trending/rp/rpcs3 RPCS3 是 PlayStation 3 游戏模拟器,自带的补丁系统可以给游戏文本…

2026/9/20 13:08:00 阅读更多 →

最新新闻

QQ空间说说被清前,GetQzonehistory备份到本地

QQ空间说说被清前,GetQzonehistory备份到本地

QQ空间说说被清前,GetQzonehistory备份到本地 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory QQ空间的老数据在流失,几年前那条说说,翻列表翻不到底了…

2026/9/20 15:51:29 阅读更多 →
GoReplay 源码编译完全指南:从安装 libpcap 到产出静态 gor 二进制

GoReplay 源码编译完全指南:从安装 libpcap 到产出静态 gor 二进制

性能测试可观测性网络 【免费下载链接】goreplay GoReplay is an open-source tool for capturing and replaying live HTTP traffic into a test environment in order to continuously test your system with real data. It can be used to increase confidence in code depl…

2026/9/20 15:51:29 阅读更多 →
PT 助手 Plus 安装部署手册:3 步完成 Chrome、Edge、Firefox 扩展加载

PT 助手 Plus 安装部署手册:3 步完成 Chrome、Edge、Firefox 扩展加载

PT 助手 Plus 安装部署手册:3 步完成 Chrome、Edge、Firefox 扩展加载 【免费下载链接】PT-Plugin-Plus PT 助手 Plus,为 Microsoft Edge、Google Chrome、Firefox 浏览器插件(Web Extensions),主要用于辅助下载 PT 站…

2026/9/20 15:51:29 阅读更多 →
Android 16 AOSP 编译报错全解析:从环境配置到高频错误解决

Android 16 AOSP 编译报错全解析:从环境配置到高频错误解决

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/20 15:51:29 阅读更多 →
ANTLR4 PHP 目标(Target)完整指南:运行时安装、代码生成与 JSON 解析实战

ANTLR4 PHP 目标(Target)完整指南:运行时安装、代码生成与 JSON 解析实战

ANTLR4 PHP 目标(Target)完整指南:运行时安装、代码生成与 JSON 解析实战 【免费下载链接】antlr4 ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating str…

2026/9/20 15:51:29 阅读更多 →
com.blankj:utilcodex:1.26.0 装不上 Android 12?让走 TaoToken 的 Codex 查

com.blankj:utilcodex:1.26.0 装不上 Android 12?让走 TaoToken 的 Codex 查

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/20 15:50:28 阅读更多 →

日新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/19 23:01:36 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →