ray.init(num_cpus=3)中num_cpus限制的是什么

【Ray使用环境】测试 64核
【Ray版本和类库】Ray 2.6.1
【使用现场】
使用ray.init(num_cpus=3)启动一个本地Ray环境,并运行一个tuner任务,查看它的Dashboard页面,num_cpus限制的是worker process个数,并且每个worker的cpu利用率都达到2000%,把我的服务器cpu都占满了,想问一下如何设置每个worker process中cpu的个数,不然没法运行其他任务

ray中的num_cpus等仅是设置了一个逻辑资源数量,意味着ray最多允许3个1cpu逻辑需求的task/actor同时执行,逻辑需求也是用户通过num_cpus设置的。本质上是用于对actor/task执行数量进行限制的一种管理方式。但这并不能限制actor/task实际的cpu占用,其他资源等同。

一种解决方案是使用cgroup,使ray及其相关进程只能使用受限的cpu资源。
实验环境也可以使用容器进行资源隔离。