计费与资源限制
SeaCloud Sandbox 按保留运行时资源、暂停态持久存储和网络流量计量。计费基于沙箱配置规格,而不是突发 CPU 的实际使用量。
保留基线资源,并支持尽力型 CPU 突发。 每个沙箱都会保留完整配置的 vCPU 和内存;平台不会超卖容量,因此你配置的基线资源始终可用。当底层宿主机仍有空闲 CPU 时,运行中的沙箱可以机会性地使用超过配置核数的 CPU,且不额外收费;计费基于你的配置规格,而不是实测利用率。CPU 突发能力是尽力型能力,不做保证;资源竞争时,每个沙箱仍会获得完整保留资源。不要把延迟敏感链路建立在突发能力之上。
| 计费项 | 计量时机 | 计量单位 |
|---|---|---|
| CPU Running | 沙箱 ready/running 后 | vCPU-second |
| RAM Running | 沙箱 ready/running 后 | GiB-second |
| Sandbox Storage | 仅 paused 状态 | GiB-hour |
| Data Transfer | 产生流量时 | GB |
沙箱处于 running 状态时不单独收取存储费用。运行时临时存储并入计算资源。
价格可能随套餐和部署环境变化。控制台账单数据与 usage API 是已计费总额的事实来源。当前 usage_costs_usd
基于运行时 CPU、运行时 RAM 和网络流量计算;存储使用量通过 storage usage 字段和 storage records 单独暴露。
| 计费项 | 免费额度 |
|---|---|
| Sandbox Storage | 账户级 10 GiB |
10 个沙箱,每个配置为 1 vCPU + 1 GiB,运行 5 min:
CPU 用量:1 vCPU * 300s = 300 vCPU-sRAM 用量:1 GiB * 300s = 300 GiB-s10 个沙箱合计:3000 vCPU-s 和 3000 GiB-sRunning 期间存储费用:$0默认运行时限制
Section titled “默认运行时限制”以下是当前平台默认值。
| 限制 | 默认值 |
|---|---|
| 单用户 held 沙箱 | 20 |
单用户 running + starting 沙箱 | 10 |
| 沙箱启动速率 | 1 QPS |
| 最大连续运行时间 | 3600s |
创建/启动请求超过启动速率护栏时会返回 429。建议使用带退避的有限重试,避免并发重试风暴。
默认资源限制
Section titled “默认资源限制”| 资源 | 当前契约 |
|---|---|
| Sandbox CPU | 1-8 vCPU,整数 |
| Sandbox memory | 512-8192MiB,步进 512MiB |
| Sandbox storage | 1GiB |
| CPU:RAM 比例 | 1:0.5 到 1:4 |
查询当前沙箱限额
Section titled “查询当前沙箱限额”GET /usage/limitsX-API-Key: <SEACLOUD_API_KEY>响应会返回用户维度的配额使用情况:
{ "resource": "sandboxes", "unlimited": false, "user": { "usage": { "held": 2, "running": 1 }, "limits": { "held": { "limit": 20, "used": 2, "remaining": 18, "enforced": true }, "running": { "limit": 10, "used": 1, "remaining": 9, "enforced": true } } }, "runtime": { "maxRuntimeSeconds": 3600 }}限额字段说明
Section titled “限额字段说明”| 字段 | 含义 |
|---|---|
held | 未删除且未处于销毁中的沙箱。 |
running | 运行中加启动中的沙箱,对齐创建/启动限额。 |
enforced | false 表示可见但当前不强制执行。 |
unlimited | 当前调用方是否不受该项配额限制。 |
maxRuntimeSeconds | 平台为当前调用方返回的最大生命周期时长。 |
创建/启动请求可能返回 429,并带有 scope、resource、metric、used、limit、remaining、usageEndpoint 等详情。重试前先查询返回的限额接口。
{ "code": 429, "message": "sandbox limit exceeded", "details": { "reason": "usage_limit", "scope": "user", "resource": "sandboxes", "metric": "running", "used": 10, "limit": 10, "remaining": 0, "usageEndpoint": "/usage/limits" }}