大型运行器 的计算机大小
您可以为 大型运行器 选择多种规格。
通用规格 大型运行器
| CPU | 内存 (RAM) | 存储 (SSD) | 体系结构 | 操作系统 (OS) |
|---|---|---|---|---|
| 5 | 14 GB | 14 GB | arm64 (M2) | macOS |
| 12 | 30 GB | 14 GB | x64 (Intel) | macOS |
| 2 | 8 GB | 75 GB | X64、arm64 | Ubuntu |
| 4 | 16 GB | 150 GB | X64、arm64 | Ubuntu、Windows |
| 8 | 32 GB | 300 GB | X64、arm64 | Ubuntu、Windows |
| 16 | 64 GB | 600 GB | X64、arm64 | Ubuntu、Windows |
| 32 | 128 GB | 1200 GB | X64、arm64 | Ubuntu、Windows |
| 64 | 208 GB | 2040 GB | arm64 | Ubuntu、Windows |
| 64 | 256 GB | 2040 GB | X64 | Ubuntu、Windows |
| 96 | 384 GB | 2040 GB | X64 | Ubuntu、Windows |
注意
4-vCPU Windows 运行程序只能与 Windows Server 2025 或 Windows 11 桌面映像一起使用。
GPU 规格 大型运行器
| CPU | GPU | GPU 卡 | 内存 (RAM) | GPU 内存 (VRAM) | 存储 (SSD) | 操作系统 (OS) |
|---|---|---|---|---|---|---|
| 4 | 1 | Tesla T4 | 28 GB | 16 GB | 176 GB | Ubuntu、Windows |
运行程序映像
大型运行器在虚拟机(VM)上运行,并在 GitHub VM 创建过程中在此计算机上安装虚拟硬盘(VHD)。 可以选择不同的 VM 映像安装在运行程序上。
** GitHub 拥有的映像:** 这些映像由 GitHub 维护,可用于 Linux(x64 和 arm64)、Windows(x64 和 arm64)以及 macOS(x64 和 arm64)运行程序。 有关这些映像的详细信息以及各 runner 操作系统所含工具的完整列表,请参阅 GitHub ActionsRunner Images 存储库。
Partner Images: 合作伙伴映像不由 GitHub 管理,而是从 Azure 市场 获取。 有关在何处查找详细信息以及报告合作伙伴映像问题的资源,请参阅下文。
可用的 macOS 大型运行器 和标签
以下计算机可用于 macOS 大型运行器。 创建 macOS 大型运行器 时,运行器名称也可用作工作流标签,可与 runs-on 一起使用。
| 运行器大小 | 体系结构 | 处理器 (CPU) | 内存 (RAM) | 存储 (SSD) | 工作流标签 |
|---|---|---|---|---|---|
| 大型 | Intel | 12 | 30 GB | 14 GB | |
macos-latest-large、、 macos-14-largemacos-15-large (最新)、macos-26-large | |||||
| XLarge | arm64 (M2) | 5(+ 8 GPU 硬件加速) | 14 GB | 14 GB | |
macos-latest-xlarge、、 macos-14-xlargemacos-15-xlarge (最新)、macos-26-xlarge |
macOS 的限制 大型运行器
- GitHub 提供的所有操作均与 arm64 GitHub 托管运行器兼容。 但是,社区操作可能与 arm64 不兼容,需要在运行时手动安装。
- 由于 Apple 虚拟化框架的限制,不支持嵌套虚拟化。
- Azure 专用网络和分配静态 IP 等网络功能目前不适用于 macOS 大型运行器。
- 没有为 arm64 macOS 运行程序分配静态 UUID/UDID,因为 Apple 不支持此功能。 但是,为 Intel MacOS 运行程序分配了静态 UDID,具体为
4203018E-580F-C1B5-9525-B745CECA79EB。 如果要在计划测试生成的同一 主机上进行生成和签名,则可以使用开发预配配置文件进行签名。 如果需要静态 UDID,可以使用 Intel 运行程序并将其 UDID 添加到 Apple 开发者帐户。 - macOS 运行程序在 GHE.com 的子域(例如
octocorp.ghe.com)上不可用。
排查 大型运行器
如果你注意到以你的 大型运行器 为目标的作业出现延迟或未运行,可能是由以下几个因素导致的。
- 并发设置:可能已达到最大并发限制。 如果想要允许更多作业并行运行,可以将自动缩放设置更新为更大的数字。 请参阅“管理较大的运行器”。
- 存储库权限: 确保为自己的 大型运行器存储库启用了适当的存储库权限。 默认情况下,企业运行器在存储库级别不可用,必须由组织管理员手动启用。 请参阅“管理较大的运行器”。
- 计费信息: 你必须持有有效的信用卡文件记录才能使用 大型运行器。 向帐户添加信用卡后,最多可能需要 10 分钟才能启用 大型运行器 的使用。 请参阅“管理付款和账单信息”。
- **支出限制:**GitHub Actions支出限制必须设置为大于零的值。 请参阅“设置预算以控制按流量计费的产品的支出”。
- **合理使用策略:**GitHub 设有合理使用策略,开始根据多个因素(例如你正在运行的作业数量或 GitHub Actions 中正在运行的作业总数)限制作业。
- 要分配时间的作业队列: 分配时间的作业队列是指作业请求与 GitHub 分配 VM 以执行作业之间的时间。 标准 GitHub 托管运行器利用预设的 YAML 工作流标记(如
ubuntu-latest),始终处于“预热”状态。 对于大型运行器,由于这些计算机池较小,预热后的 VM 可能无法做好在第一次收到请求时选取作业的准备。 因此, GitHub 可能需要创建新的 VM,这会增加队列以分配时间。 运行器启动后,VM 即可在 5 分钟内运行后续工作流。 如果在此期间未再次使用,部分虚拟机会保持预热状态,这将减少未来 24 小时内工作流运行的队列等待时间。 运行的作业数量越多,预热池中保留的 VM 数量通常也会越多。
大型运行器 的网络
默认情况下,大型运行器 会被分配一个动态 IP 地址,并且该地址会在每次作业运行时发生变化。 (可选)GitHub Enterprise Cloud 客户可以将其 大型运行器 配置为接收 GitHub IP 地址池中的静态 IP 地址。 有关详细信息,请参阅“关于GitHub的 IP 地址”。
启用后, 大型运行器 实例将从运行程序唯一的特定范围接收 IP 地址,允许你使用范围来配置防火墙允许列表。 每个 大型运行器 都是一个池,可自动扩展到其配置的最大并发数,并且该池中的所有作业都共享相同的静态 IP 地址范围。 这意味着无需创建其他运行程序来运行更多并发作业。 池中总共使用最多 10 个具有静态 IP 地址范围的池,可以在企业级别使用最多 10 大型运行器 个具有静态 IP 地址范围的池。 此外,在组织级别,对于企业大型运行器中的每个组织,最多可使用 10 个具有静态 IP 地址范围的 池。 有关详细信息,请参阅“管理较大的运行器”。
如果您想使用 10 个以上具有静态 IP 地址范围的较大运行器池,请联系 通过网站管理员GitHub支持门户。
注意
如果运行程序未使用的时间超过 90 天,则其 IP 地址范围会自动移除,无法恢复。
大型运行器的通信要求
一个 大型运行器 必须建立与 GitHub 所拥有的端点之间的连接,才能执行基本的通信操作。 此外,运行器可能需要访问您在操作中指定或使用的其他网络。
若要确保在您的配置中,大型运行器 能够在网络之间正常通信,请确保允许以下通信。
注意
列出的一些域名使用 CNAME 记录配置。 一些防火墙可能要求你为所有 CNAME 记录递归添加规则。 请注意,CNAME 记录将来可能会改变,只有列出的域名将保持不变。
注意
如果您使用 带有数据驻留权的 GitHub Enterprise Cloud,您的运行器必须与以下列出的主机名之外的其他主机名进行通信。 有关完整的网络要求,请参阅 GHE.com 的网络详细信息。
基本操作所需:
github.com api.github.com *.actions.githubusercontent.com
github.com
api.github.com
*.actions.githubusercontent.com
下载操作所需内容:
codeload.github.com
codeload.github.com
上传/下载作业摘要、工作流项目和缓存时需要:
results-receiver.actions.githubusercontent.com *.blob.core.windows.net
results-receiver.actions.githubusercontent.com
*.blob.core.windows.net
运行器版本更新所需:
objects.githubusercontent.com objects-origin.githubusercontent.com github-releases.githubusercontent.com github-registry-files.githubusercontent.com
objects.githubusercontent.com
objects-origin.githubusercontent.com
github-releases.githubusercontent.com
github-registry-files.githubusercontent.com
检索 OIDC 令牌时需要:
*.actions.githubusercontent.com
*.actions.githubusercontent.com
下载软件包或将软件包或容器发布到 GitHub Packages 时所需:
*.pkg.github.com pkg-containers.githubusercontent.com ghcr.io
*.pkg.github.com
pkg-containers.githubusercontent.com
ghcr.io
需要用于 Git 大型文件存储
github-cloud.githubusercontent.com github-cloud.s3.amazonaws.com
github-cloud.githubusercontent.com
github-cloud.s3.amazonaws.com
需要用于 Dependabot updates 的作业
dependabot-actions.githubapp.com
dependabot-actions.githubapp.com
下载发布资产所需:
release-assets.githubusercontent.com
release-assets.githubusercontent.com
VNet 需要:
api.snapcraft.io *.core.windows.net
api.snapcraft.io
*.core.windows.net