全部产品
Search
文档中心

容器计算服务 ACS:休眠和唤醒Agent Sandbox

更新时间:Mar 31, 2026

在大规模运行 AI Agent 任务期间,为降低闲置计算资源产生的额外成本,可通过 E2B SDK 配置休眠及唤醒,或利用 kubectl 修改 CR 状态,实现沙箱实例的按需挂起与上下文无损恢复,从而提升集群资源利用率。

准备工作

创建Agent Sandbox

休眠Sandbox

对沙箱进行休眠(Pause)处理,可释放闲置资源以优化运行成本。

E2B SDK方式

自动休眠

在创建沙箱时,通过配置超时时间timeout并启用auto_pause参数,可实现实例在闲置超时后自动转入休眠状态。

# Import the E2B SDK
from e2b_code_interpreter import Sandbox

# 使用 beta 接口创建沙箱,配置 600 秒无活动后自动休眠
sandbox: Sandbox = Sandbox.beta_create(
    template="code-interpreter",
    auto_pause=True,
    timeout=600,
)

# 执行业务操作
sandbox.run_code("print('hello, world')")

手动休眠

在明确任务执行完成后,可手动调用休眠接口挂起沙箱实例并释放计算资源:将以下<YOUR_SANDBOX_ID>替换成实际的沙箱id

# Import the E2B SDK
from e2b_code_interpreter import Sandbox

sandbox = Sandbox.connect("<YOUR_SANDBOX_ID>")
sandbox.beta_pause()

Sandbox CR方式

将以下<YOUR_RESOURCE_NAME>替换为CR名称,修改Sandbox实例配置spec.pausedtrue

kubectl patch sandbox <YOUR_RESOURCE_NAME> -n default --type='merge' -p '{"spec":{"paused":true}}'

执行沙箱休眠后,可在集群详情页,选择工作负载 > 自定义资源,并筛选查看沙箱休眠状态。

唤醒Sandbox

E2B SDK方式

休眠状态下的沙箱可通过connect接口进行快速唤醒:将以下<YOUR_SANDBOX_ID>替换成实际的沙箱id

# Import the E2B SDK
from e2b_code_interpreter import Sandbox

# 连接沙箱(若处于休眠状态将自动触发唤醒并恢复上下文)
sandbox = Sandbox.connect("<YOUR_SANDBOX_ID>")
# 继续执行业务操作
sandbox.run_code("print('hello, world')")

Sandbox CR方式

将以下<YOUR_RESOURCE_NAME>替换为实际的CR名称,修改Sandbox实例配置spec.pausedfalse

kubectl patch sandbox <YOUR_RESOURCE_NAME> -n default --type='merge' -p '{"spec":{"paused":false}}'

执行沙箱唤醒后,可在集群详情页,选择工作负载 > 容器组,并筛选查看沙箱运行状态。

可通过观察容器日志标准输出,验证内存状态恢复后的业务连续性。

观测Sandbox状态

处于休眠状态的Pod不占用集群CPU及内存资源。

  1. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择运维管理Prometheus 监控

  2. Prometheus 监控页面选择应用监控 > 集群Pod监控页签,筛选对应的Pod进行观测。

删除休眠的Sandbox

如需彻底移除休眠的实例,可以通过删除对应Sandbox CR来实现:将以下<YOUR_RESOURCE_NAME>替换为实际的CR名称。

kubectl -n default delete sandbox <YOUR_RESOURCE_NAME>