Oracle Cloud Out of host capacity 怎么办?Ampere A1 创建不了与 PAYG 的真相
Oracle Cloud 创建 Ampere A1 出现 Out of host capacity,说明所选的区域、AD 或 FD 暂时没有主机容量。整理官方建议的排查顺序、容量与配额的区别,以及升级 PAYG 能解决和不能解决什么。
本文目录
在 Oracle Cloud 创建 Ampere A1 主机时,点击 Create 后弹出 Out of host capacity,是 Always Free 用户最常卡住的一步。这个错误的意思很直接:你选的 shape 在指定的区域、availability domain(AD)或 fault domain(FD)目前没有可以分配的主机容量。 它不是账户被封、信用卡有问题,也和 SSH 密钥、镜像无关。
先说结论:按 Oracle 官方的建议依次尝试,不指定 FD、换 AD、改小 shape,不行就等一段时间再试;要用程序查询,可以先用 capacity report 看容量。升级 Pay As You Go(PAYG)不会增加物理容量,也不保证能创建成功,而且超出免费额度的用量会真的收费。
本文整理了 Oracle 官方文档(2026 年 10 月 12 日查阅)和我 2026 年 10 月在 Oracle 搭建 Claude Code 主机时的笔记。容量、免费额度和价格随时可能变动,以 Oracle 官方文档、你账户的 Console 和账单为准。文中不提供任何保证能创建成功的方法。
Out of host capacity 是什么意思
Oracle 的排查文档说明,容量是动态的,取决于某个 shape 在特定 region、AD 或 FD 的主机池大小,以及主机上还剩多少 OCPU 和内存。Ampere A1 的 shape 是 VM.Standard.A1.Flex,同样受这个限制。
所以这个错误代表“现在、这个位置、这个大小”没有空间,换条件或换时间就可能不一样。重新注册账户、换信用卡、重做 SSH 密钥都不会改变它。
遇到 Out of host capacity 的排查顺序
不指定 Fault Domain,让 Oracle 自动选择
创建主机时,Fault Domain 不要手动指定。官方说明,不指定时 Oracle 会分配可用的最佳 FD。如果你之前手动选了某个 FD,先改回自动。
换一个 Availability Domain
有些区域有多个 AD,可以换另一个 AD 再试。不是每个区域都有多个 AD;Always Free 的计算资源也只能建在账户的 Home Region(见后面的说明),不能为了找空位随意换区域。
改小 shape
A1 是弹性 shape,可以自己设置 OCPU 和内存。先用小一点的配置,例如 1 OCPU、6 GB,创建成功后再看需求。改小之后,记得重新确认这个大小够你用。
等一段时间再试
容量会变动,隔一段时间再试是合理的。关键是不要高频、无上限地反复提交请求,后面有一节说明自动重试的原则。
用 capacity report 先查容量
需要用程序查询时,OCI CLI 有 oci compute compute-capacity-report create,可以在创建主机前查某个 AD 对某个 shape 是否有足够容量。必填参数是 AD、compartment(官方说明要用 root compartment)和 shape 配置:
# 先生成 shape 配置的 JSON 模板,再填入 VM.Standard.A1.Flex 与 OCPU、内存
oci compute compute-capacity-report create \
--generate-param-json-input shape-availabilities > shape-availabilities.json
oci compute compute-capacity-report create \
--availability-domain "<YOUR_AD_NAME>" \
--compartment-id "<YOUR_ROOT_COMPARTMENT_OCID>" \
--shape-availabilities file://shape-availabilities.json
报告只反映查询当时的状态,查到有容量也不保证接下来一定能创建成功。
容量不足和配额不足不一样
创建失败不一定都是容量问题。先看错误消息,再决定怎么处理:
| 错误或情况 | 大致意思 | 先检查什么 |
|---|---|---|
Out of host capacity |
选定位置暂时没有物理主机容量 | FD、AD、shape 大小、换时间再试 |
LimitExceeded |
超过账户的 service limit 或配额 | Console 的 Limits, Quotas and Usage,以及账户已用掉多少 A1 |
NotAuthorizedOrNotFound |
权限不足,或指定的资源找不到 | compartment、IAM 权限、OCID 是否正确 |
还有一个容易忽略的检查:账户里其他 A1 主机已经用掉多少额度。Oracle 的 Free Tier 说明写到,Always Free 账户的所有 A1 主机合计不要超过 2 OCPU、12 GB;超过的话,所有 A1 主机会被停用,30 天后删除,除非升级成付费账户。
升级 PAYG 能解决 Out of host capacity 吗
很多教程把“升级 PAYG”当成抢到 A1 的秘诀。实际上要分开看:
- PAYG 是什么:Oracle 的付费账户类型,没有最低用量承诺。升级后原有的资源可以继续用,符合 Always Free 条件的资源仍然免费。
- PAYG 可能改变的:账户可以申请的资源种类和上限可能变多。
- PAYG 不会改变的:A1 的物理主机容量。Oracle 没有说升级后创建 A1 有优先权。PAYG 账户同样可能遇到
Out of host capacity。 - PAYG 的代价:超出 Always Free 额度的用量会真的收费,例如更大的 shape、额外的磁盘、备份或其他服务。
升级前后,先在 Billing & Cost Management 创建每月低额的 Budget 和邮件警报。但要知道 Oracle 官方说明 budget 是软性限制:只会发通知,警报每 24 小时评估一次,不会自动停止收费。要控制用量,还是得自己检查资源和 Cost Analysis。
A1 免费额度:官方文档的两个数字
2026 年 10 月 12 日查阅时,Oracle 两份官方文档写的 A1 免费额度不一样:
| 官方文档 | 每月免费额度 | 换算成整月不关机 |
|---|---|---|
| Always Free Resources | 1,500 OCPU 小时、9,000 GB 小时 | 约 2 OCPU、12 GB |
| Arm-based Compute | 3,000 OCPU 小时、18,000 GB 小时 | 约 4 OCPU、24 GB |
本文采用保守的 2 OCPU、12 GB。 不要直接假设 4 OCPU、24 GB 一定免费,以你账户 Console 的 Always Free 标示、当月用量和账单为准。磁盘另外算:Always Free 的 block volume 是全部合计 200 GB(boot volume 加 block volume),同一页对 boot volume 最小值的写法有 47 GB 和 50 GB 两种。
真要自动重试:设上限、拉长间隔
如果要用脚本重试,原则是:
- 有次数上限:到上限就停下来,人工看情况。
- 间隔逐步拉长,加一点随机:例如从几分钟开始,失败一次就拉长一次,不要每几秒调用一次 API。
- 区分错误:只有
Out of host capacity才重试;LimitExceeded、NotAuthorizedOrNotFound这类错误重试也没用,要停下来修改设置。 - 遵守 Oracle 的使用规范和 API 速率限制。
这里不提供重试脚本:没有任何脚本能保证创建成功,我也没有在账户上实测过可以公开的版本。要自己写的话,按上面四个原则就好。
创建成功之后,到 Console 确认 shape、OCPU、内存、boot volume 大小和 Always Free 标示,不要因为创建成功就假设全部免费。
Home Region 与闲置回收
- Home Region:Always Free 的计算资源只能建在账户的 Home Region,Home Region 以外的 volume 照价收费。注册时选 Home Region 前,先想好位置和延迟,不要当成之后可以随时改。也不要因为某个区域一时缺货,就用不实资料重复注册账户。
- 闲置回收:官方文档写明,Always Free 的闲置主机可能被回收。判断条件是 7 天内以下几项都成立:CPU 使用率第 95 百分位低于 20%、网络使用率低于 20%,A1 另外还要内存使用率低于 20%。升级 PAYG 或用 systemd 让程序常驻,都不能保证不被回收;也不要为了规避判定刻意制造假负载。
主机建好之后,接下来的 SSH、Claude Code 安装和常驻设置,见《Oracle Cloud 运行 Claude Code Remote Control 常驻教程》;设置 systemd 时遇到 No medium found,见《systemctl –user 出现 No medium found 怎么办》。这台主机在整个网站架构里扮演什么角色,见《Jason Finance 从零到一》。
常见问题
Oracle Cloud 的 Out of host capacity 是什么意思?
说明你选的 shape 在指定的 region、availability domain 或 fault domain 目前没有足够的主机容量可以分配。Oracle 官方说明容量是动态的,会随主机池的情况变化。它不等于账户违规、信用卡失效或 SSH 设置有问题。
遇到 Out of host capacity 该怎么处理?
依次尝试:不指定 fault domain,让 Oracle 自动选择;换另一个 availability domain;改小 shape,例如 A1 先用 1 OCPU、6 GB;等一段时间再试。需要用程序查询时,可以先用 OCI 的 capacity report 看有没有容量,但查到有容量也不保证创建成功。
升级 Pay As You Go 就一定能创建 Ampere A1 吗?
不一定。PAYG 可能让账户能申请更多种类的资源,但不会增加 A1 的物理主机容量,Oracle 也没有说升级后有优先权。升级后超出 Always Free 额度的用量会真的收费。
Oracle 的 Budget 可以当作花费上限吗?
不行。Oracle 官方说明 budget 是软性限制,用来在可能超出预算时发送通知,警报每 24 小时评估一次,不会自动停止收费。
Ampere A1 免费额度是 4 OCPU、24 GB 还是 2 OCPU、12 GB?
2026 年 10 月 12 日查阅时,Oracle 两份官方文档写法不同:Always Free 资源页是每月 1,500 OCPU 小时和 9,000 GB 小时,约等于 2 OCPU、12 GB;Arm 计算页是 3,000 和 18,000。本文采用保守的 2 OCPU、12 GB,实际以账户的 Always Free 标示和账单为准。
Oracle 会回收闲置的 Always Free 主机吗?
可能。官方文档列出的条件是 7 天内 CPU 使用率第 95 百分位低于 20%、网络使用率低于 20%,A1 另外还要内存使用率低于 20%,这些都成立时可能被回收。不要刻意制造假负载来规避判定。
延伸阅读
- 看不懂代码也能建网站:我用 Claude Code + GitHub + Cloudflare 低成本搭建 Jason Finance 的方法与成本我看不懂代码,Jason Finance 是用 Claude Code、GitHub、Cloudflare Workers 和 Supabase 免费方案搭起来的。整理整套架构、每个服务的用途与费用、我怎么给 AI 权限,以及这种做法的限制。
- Git 可以 push,Claude Code 却读不到 GitHub Issues:SSH 与 GitHub API 权限的区别Claude Code GitHub Issues 读不到,但 git push 正常?SSH key 只授权 Git 传输,Issues 和 PR 要另外的 API 认证。用 gh CLI 登录、确认权限、保护 token,并把 Issue 串成 PR 流程。
- 一台主机运行多个 Claude Code Remote Control:Linux user、systemd 与 git worktree 分工Claude Code 多个 Remote Control 运行在同一台主机:信任边界不同就分 Linux user,每个环境一个 systemd service,同一个 repo 的开发和写文章用 git worktree 分开,并说明 --spawn=worktree 的限制。

留言
使用 Google 登录即可留言。留言“不会”使用您的 Google 头像或姓名,对外显示的昵称是系统随机生成的代号,以保护您的隐私。
登录即表示你同意本站的隐私政策。