确认订单状态、节点区域、机器名称与租期信息一致。
复制主机地址、用户名和临时凭据,不转发给无关成员。
首次连接后更新密码,添加团队使用的 SSH 公钥。
记录 macOS、Xcode、磁盘空间与网络访问结果。
先确认控制台里的节点与连接资料,再从 SSH 或 VNC 建立首次会话。迁移、构建和 MLX 服务出现异常时,按本页顺序缩小问题范围,避免在配置、网络与任务日志之间反复猜测。
确认订单状态、节点区域、机器名称与租期信息一致。
复制主机地址、用户名和临时凭据,不转发给无关成员。
首次连接后更新密码,添加团队使用的 SSH 公钥。
记录 macOS、Xcode、磁盘空间与网络访问结果。
不要一开始就迁移仓库或安装大量依赖。先完成四项基础核对,确认机器身份、连接方式和凭据更新均可正常执行。
登录控制台,检查订单号、节点区域、机器名称、租期与连接资料。节点与订单不一致时先停止操作,避免把文件迁移到错误机器。
命令行配置、自动化和日志检查优先使用 SSH;需要图形界面、Xcode 设置或桌面操作时使用 VNC。首次连接建议分别验证一次。
进入机器后立即更新临时密码,再把团队批准的 SSH 公钥写入授权列表。密钥应按成员区分,离开项目时单独撤销。
在安装工具前记录系统版本、Xcode 路径、可用磁盘和基础网络结果。后续故障可以直接与这份基线比较。
sw_vers 查看系统版本xcode-select -p 查看工具链路径df -h 查看磁盘空间迁移顺序决定排障成本。先移动可校验的数据,再恢复固定版本的工具链,最后接入 CI 或 self-hosted runner。
优先通过 Git 拉取代码仓库。大型模型、构建缓存和制品应单独同步,并在传输完成后核对文件大小或校验值。
确认项目要求的 Xcode、命令行工具、Ruby、Node.js 和 CocoaPods 版本。先跑最小构建,再恢复完整依赖缓存。
把 runner 工作目录、缓存目录和日志目录分开。首次任务不要并行,先观察拉取、构建、测试和归档各阶段的输出。
以下记录展示排查顺序,不包含项目专属凭据。先确认远程会话,再执行 Xcode 构建,最后观察自动化工具是否返回成功状态。
$ ssh vmkeep@203.0.113.24
vmkeep-m4-plus
region
JP
shell
/bin/zsh
$ xcodebuild -workspace Client.xcworkspace -scheme Client -configuration Release build
[1/4] Resolve package dependencies
[2/4] Compile sources and resources
[3/4] Run unit tests
[4/4] Archive build output
$ bundle exec fastlane ios build
exit=0 · archive=Client.xcarchive · duration=08m23s
若某一步失败,保留失败命令前后至少 30 行输出、退出码、Xcode 版本和发生时间。提交工单前请移除令牌、私钥和签名材料原文。
持续构建的问题通常来自执行身份、目录权限、版本漂移或缓存污染。下面五项应在第一条正式流水线运行前确定。
使用独立执行用户注册 self-hosted runner,为构建类型设置清晰标签。确认服务重启后 runner 能自动恢复在线状态。
把源码检出、临时构建、归档制品和任务日志放在不同目录,避免失败任务留下的文件影响下一次运行。
缓存键至少包含依赖锁文件、Xcode 版本和架构信息。出现不可解释的编译错误时,先用空缓存复跑一次。
签名文件、密码与令牌仅在任务运行时注入,不写入仓库、普通日志或长期共享目录。任务结束后清理临时副本。
先区分网络拉取失败、依赖解析失败、编译失败和测试失败。只有确认任务具备幂等性后,才自动重试对应阶段。
| 阶段 | 优先核对 | 应保留的结果 | 不应进入日志 |
|---|---|---|---|
| 代码拉取 | 仓库权限、远端地址、网络解析 | 提交哈希、分支、失败命令 | 访问令牌原文 |
| 依赖安装 | 锁文件、镜像配置、缓存键 | 工具版本、依赖解析输出 | 私有凭据原文 |
| Xcode 构建 | scheme、SDK、构建配置、目标平台 | 完整命令、退出码、关键报错 | 签名密码 |
| 测试与归档 | 测试目标、超时、制品目录 | 测试报告、归档路径、任务时长 | 签名材料原文件 |
先证明模型能在机器本地完成一次请求,再检查监听地址和端口访问。不要在模型尚未加载成功时直接排查远程客户端。
检查配置中的模型目录、权重文件和读取权限。相对路径应以服务实际工作目录为基准。
test -r /srv/models/model && echo readable
先用单请求加载模型,记录加载前后内存变化。若进程退出,检查系统日志和应用退出码。
ps -o pid,rss,command -p <PID>
确认服务绑定的地址与端口。仅监听回环地址时,远程客户端无法直接连接。
lsof -nP -iTCP:<PORT> -sTCP:LISTEN
在云端 Mac 内部发送最小请求,记录响应状态、首字延迟、总耗时和模型返回内容。
curl -sS http://127.0.0.1:<PORT>/health
本机请求成功后,再从授权客户端验证远程访问。对比客户端时间、服务日志与请求标识。
curl -sS https://<YOUR-ENDPOINT>/health
具体模型能否运行取决于模型格式、量化方式、依赖版本和所选内存配置。
首字延迟与持续吞吐应在固定模型、固定参数、固定并发条件下比较。
提交模型路径结构、启动命令、进程日志、监听结果与脱敏后的最小请求。
统一术语能减少团队沟通偏差。提交工单时尽量使用下列名称描述机器、连接方式和任务角色。
每类问题都先核对订单与节点,再检查客户端、网络和机器内部状态。展开对应条目可查看建议顺序与工单信息。
检查顺序:确认订单与节点资料,重新复制主机地址和用户名,检查输入法与密码字符,核对 SSH 主机指纹或 VNC 地址,再换一个已知可用网络复测。
工单信息:订单号、节点区域、发生时间、客户端名称、完整错误文本,以及已隐藏主机敏感部分的连接命令。
检查顺序:记录中断时刻,测试本地网络稳定性,关闭可能改写路由的代理后复测,观察 SSH keepalive 设置,并确认中断是否与高负载任务同时发生。
工单信息:中断时间段、所在网络环境、连续测试次数、客户端日志、任务类型和中断前后的系统负载。
检查顺序:降低显示分辨率与色彩质量,暂停占用大量带宽的同步任务,比较有线与无线网络,确认是否仅在特定时间或特定客户端出现。
工单信息:节点区域、客户端版本、显示分辨率、本地网络类型、延迟出现时间和可复现的操作步骤。
检查顺序:运行 df -h 查看分区,再按目录统计 DerivedData、归档制品、依赖缓存、模拟器数据与任务工作区。删除前先确认制品已导出。
工单信息:磁盘使用结果、增长最快的目录、最近运行的任务、已执行的清理命令,以及是否需要评估存储附加项。
检查顺序:比较执行用户、环境变量、工作目录、Xcode 版本、依赖锁文件和缓存键。使用 runner 的执行身份手动运行同一条构建命令,找到最早出现差异的位置。
工单信息:完整构建命令、Xcode 版本、runner 标签、失败退出码、脱敏日志,以及手动执行与自动任务之间的差异。
已有订单和运行中的节点问题优先通过控制台提交工单;方案选择、部署范围与尚未下单的问题可通过联系页发送邮件咨询。
用于定位对应机器与租期,不要提交账户密码。
写明新加坡、日本(东京)、韩国(首尔)、香港或美国东部。
提供包含时区的时间范围,便于对应连接与任务记录。
保留退出码和报错前后上下文,并移除令牌与敏感凭据。
从起始状态写到问题出现,每一步注明预期结果与实际结果。