Apple Silicon(M1 Max)上ray.init()挂起问题求助
解决Apple Silicon上Ray初始化挂起的问题
针对性解决步骤
1. 锁定Ray兼容版本
Apple Silicon对Ray的稳定支持从2.5.0版本开始,旧版本存在架构适配bug。执行以下命令重新安装:
pip uninstall -y ray ray[rllib] pip install "ray[rllib]==2.5.0" --no-cache-dir
2. 禁用Ray内存监控模块
Ray默认内存监控在M系列芯片上易触发死锁,初始化时手动关闭:
import ray ray.init(_memory_monitor=False)
3. 强制单进程模式调试
先排除多进程调度冲突,尝试本地单进程启动:
import ray ray.init(num_cpus=1, local_mode=True)
若单进程正常,说明是多进程适配问题,启动Python/Jupyter前先设置环境变量:
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
4. 验证虚拟环境架构
确保Miniforge环境为纯ARM架构,执行验证命令:
python -c "import platform; print(platform.machine())"
输出需为arm64,若显示x86_64则需重建纯ARM环境:
conda create -n ray-arm python=3.10 conda activate ray-arm
5. 关闭系统节能模式
M系列芯片节能模式会限制多进程调度性能,前往系统设置>电池关闭节能模式后重试。
内容的提问来源于stack exchange,提问作者hackr
相关产品推荐
相关产品推荐

