AgentENV自动回收机制:如何用TTL让闲置沙箱秒级释放资源
AgentENV自动回收机制如何用TTL让闲置沙箱秒级释放资源【免费下载链接】AgentENVAgentENV (AENV) is a distributed platform for running agent environments at scale.项目地址: https://gitcode.com/gh_mirrors/age/AgentENVAgentENVAENV是一个用于大规模运行 AI Agent 环境的分布式平台。在 AgentENV 中每个运行中的沙箱Sandbox都带有一个TTLTime-To-Live存活时间TTL 到期后平台会自动暂停或删除该沙箱把 CPU 和内存立刻回收给其他任务。这套自动回收机制让闲置沙箱不再长期占用资源是实现成本可控的 Agent 环境规模化运行的关键能力。一、为什么沙箱需要 TTL 自动回收跑 Agent 环境时常见的场景是用户发起一次代码执行Agent 跑完任务后就没人再碰这个沙箱了。如果没有回收机制 闲置沙箱会无限期占用 CPU 和内存节点很快被耗尽 在集群环境中大量僵尸沙箱直接推高成本⏳ 手动逐个清理既繁琐又容易遗漏。AgentENV 的答案是每个沙箱出生时就带有到期时间TTL到期即被后台任务自动处理。二、秒级释放是如何实现的后台驱逐任务回收能力藏在编排器的后台任务里。Orchestrator 启动时会拉起一个周期性扫描任务start_auto_evict_task按照配置的时间间隔不停检查哪些沙箱已经到期扫描间隔由auto_evict_interval_ms控制默认1000 毫秒1 秒见 config/default.toml每个周期evict_expired_sandboxes会拉出所有已过期的运行中沙箱逐个执行回收实现代码位于 src/orchestrator/service.rs回收时会先原子地认领沙箱状态转为Pausing或Killing避免与用户手动删除操作冲突保证并发安全。 这意味着TTL 到期后最迟 1 秒内后台任务就会把它回收掉——秒级释放资源就是这么来的。三、回收的两种方式暂停保留现场或删除彻底释放TTL 到期时执行哪个动作在沙箱创建时就已确定timeout_action对应两种策略策略触发条件到期行为适用场景自动暂停Auto-PauseautoPause: true默认暂停沙箱保留完整现场可随时恢复交互式会话、希望续用的环境自动删除DeleteautoPause: false永久移除沙箱资源彻底释放一次性任务、批处理执行暂停沙箱只是进入休眠之后用aenv resume或aenv connect就能唤醒并继续工作️删除适用于跑完即焚的场景通过 API 创建沙箱时传入autoPause: false即可指定。详细行为说明可参考官方文档 docs/src/concepts/sandboxes/auto-eviction.md。四、一键设置与延长 TTL 的实用技巧启动时设定初始 TTL使用 CLI 启动沙箱时通过--timeout直接指定存活秒数默认300 秒aenv start my-python-template --timeout 600冷启动 OCI 镜像同样支持aenv start --cold ubuntu:24.04 --timeout 600。参数说明见 docs/src/concepts/sandboxes/starting.md。运行中随时改写截止时间对正在运行的沙箱一条命令即可把截止时间替换为从当前时刻起 N 秒后既能延长、也能缩短aenv timeout sandbox-id 600命令实现非常直观见 crates/aenv/src/commands/timeout.rs。保活续命Refresh API如果任务是长流程比如 Agent 每隔几分钟调用一次工具不希望缩短已有的更晚截止时间可以调用refresh 接口续命它只会就高不就低地保持沙箱存活绝不会误伤更长的剩余 TTL。curl -X POST -H X-API-Key: test-key -H Content-Type: application/json \ -d {duration: 600} \ http://127.0.0.1:8000/sandboxes/sandbox-id/refreshes五、最佳实践为 Agent 平台设计合理的 TTL 策略按任务类型分级设 TTL一次性批处理任务设短 TTL如 120sautoPause: false直接删除交互式会话用默认 300s 自动暂停用户回来还能续用。用 refresh 而不是反复重设超时Agent 心跳循环中调用 refresh 接口可以只增不减地保活逻辑更简单也更安全。暂停 ≠ 免费午餐暂停的沙箱虽然不占 CPU但快照仍占存储对确定不再使用的沙箱应显式删除aenv delete或配置到期删除。集群环境下调低扫描间隔需谨慎auto_evict_interval_ms越小回收越及时但扫描频率也越高默认 1 秒是延迟与开销的平衡点。总结AgentENV 的 TTL 自动回收机制 默认 300 秒存活 1 秒一次的后台扫描 暂停/删除双策略。对新手而言记住三件事就够了 启动时用--timeout设定 TTL默认 300 秒 运行中用aenv timeout改写截止时间或调用 refresh 接口保活 想要跑完即焚创建时传autoPause: false到期自动彻底释放资源。这套机制让 AgentENV 在大规模运行 Agent 环境时资源占用始终与真实使用量保持同步——闲置即释放无需人工干预。【免费下载链接】AgentENVAgentENV (AENV) is a distributed platform for running agent environments at scale.项目地址: https://gitcode.com/gh_mirrors/age/AgentENV创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →