You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac M1 Docker容器中Ray远程函数执行LocalRayletDiedError报错求助

解决Mac M1 x86_64容器中Ray 2.6.3 LocalRayletDiedError问题

针对你在Mac M1通过Rosetta 2模拟x86_64容器运行Ray 2.6.3时遇到的LocalRayletDiedError,以下是几个可行的解决方向:

  • 降级gRPC版本适配Ray 2.6.3
    当前使用的grpcio 1.57.0可能与Ray 2.6.3在x86_64模拟环境下存在兼容性冲突,Ray 2.6.3官方推荐的稳定gRPC版本为1.53.0,执行以下命令调整:

    pip uninstall -y grpcio grpcio-tools
    pip install grpcio==1.53.0 grpcio-tools==1.53.0
    

    卸载时确保清理所有相关依赖,避免版本残留导致冲突。

  • 明确指定Ray的CPU资源
    Rosetta 2的CPU资源调度在模拟环境下可能存在异常,启动Ray时手动指定CPU数量,避免自动检测的偏差:
    在Python代码中初始化:

    ray.init(num_cpus=2)
    

    或者通过命令行启动Ray head节点时指定:

    ray start --head --num-cpus=2
    

    可以先尝试num_cpus=1验证是否能正常运行,再逐步调整到2核。

  • 调整Docker容器的CPU配额
    确保容器分配了足够的CPU资源,避免因资源不足导致Ray agent被系统终止,运行容器时增加CPU限制:

    docker run --cpus=2 --platform linux/x86_64 -it dev_container
    

    根据实际需求调整--cpus参数值,确保容器CPU资源充足。

  • 升级Ray到兼容版本
    Ray 2.6.3在Apple Silicon的x86_64模拟环境下可能存在未修复的bug,尝试升级到Ray 2.8.0及以上版本,这些版本对Rosetta 2环境的兼容性更好:

    pip install -U ray==2.8.0
    
  • 排查Ray Agent退出的具体原因
    开启Ray的DEBUG日志,获取更详细的agent退出信息,帮助定位问题:
    通过环境变量设置:

    export RAY_DEBUG=1
    ray start --head --num-cpus=2
    

    或者在Python代码中初始化时指定日志级别:

    import ray
    ray.init(logging_level="debug")
    

    查看输出日志中关于agent退出的具体报错信息,进一步针对性解决。

内容的提问来源于stack exchange,提问作者Dipu Cs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 23:35:05