Ray perjob 模式下,head 内存占用率飙升¶
我们在 Ray Perjob 模式下跑 Ray 任务的时候,发现任务经常抛出异常退出,找不到任何有效的日志,通过观察任务的内存、CPU占用率,发现 head 的 CPU 和 内存占用率非常高, 基本上与 worker 持平,理论上 perjob head 只维护基本的 GCS 服务,内存和 CPU 不应该很高。
通过文档: Ray 内存分析 了解到,ray 默认情况下,perjob 模式下,head 也会跑任务。
要想不让 head 跑任务,只能通过在 headGroupSpec 的 rayStartParams 中加参数: num-cpus: "0" 解决,大致如下:
rayClusterSpec:
rayVersion: '2.9.0'
headGroupSpec:
rayStartParams:
num-cpus: "0"
dashboard-host: '0.0.0.0'