GitHub Actions自托管Runner莫名中断通信报错求助
GitHub自托管Runner随机中断排查方案
报错信息
The self-hosted runner: default-6bbn8-hw2mr lost communication with the server. Verify the machine is running and has a healthy network connection. Anything in your workflow that terminates the runner process, starves it for CPU/Memory, or blocks its network access can cause this error.
网络连通性排查
- 长期监控网络状态:在Runner机器上持续执行
ping github.com或traceroute github.com(Windows用tracert),记录中断发生时段的丢包、延迟数据,确认是否存在网络波动。 - 检查防火墙与安全规则:核实Runner机器出站到
api.github.com、githubusercontent.com等域名的443端口未被临时阻断,部分安全软件可能触发动态规则拦截连接。 - 分析Runner网络日志:打开Runner安装目录下的
_diag文件夹,查看日志文件中是否有连接超时、TCP重置等网络相关错误。
进程与系统资源排查
- 监控Runner进程状态:用
top/htop(Linux)或任务管理器(Windows)实时观察Runner.Listener.exe(Windows)或run.sh相关进程(Linux)的资源占用,排查是否存在瞬间CPU/内存飙升,或被系统OOM Killer终止的情况(Linux可查看/var/log/syslog中的OOM日志)。 - 重置Runner服务:停止Runner服务,删除
_work缓存文件夹后重新启动,排除缓存文件损坏导致的进程异常。 - 检查系统定时任务:排查机器上的定时脚本(如Linux的
crontab、Windows任务计划),确认没有误杀Runner进程的自动任务。
配置与版本排查
- 重新注册Runner:生成新的注册令牌,注销旧Runner后重新注册,避免令牌过期或权限异常引发通信问题。
- 更新Runner版本:将Runner升级至最新稳定版,旧版本可能存在已修复的通信bug。
- 分析工作流日志:在GitHub仓库Actions页面下载完整工作流日志,查看中断前是否有脚本隐性错误导致Runner进程崩溃。
内容的提问来源于stack exchange,提问作者jrz
相关产品推荐
相关产品推荐

