State CLI#

State#

本节包含用于访问 Ray 资源(actor、task、object 等)实时状态 的命令。

注意

API 尚处于alpha 阶段。此功能需要使用 pip install "ray[default]" 完全安装 Ray。此功能还需要 dashboard 组件可用。在启动 Ray 集群时需要包含 dashboard 组件,这对于 ray startray.init() 是默认行为。有关更深入的调试,您可以查看 <RAY_LOG_DIR>/dashboard.log 处的 dashboard 日志,通常是 /tmp/ray/session_latest/logs/dashboard.log

State CLI 允许用户访问各种资源的(例如,actor、task、object)状态。

ray summary tasks#

汇总集群的任务状态。

默认情况下,输出包含按任务函数名分组的信息。

输出架构为 TaskSummaries

引发
RayStateApiException

如果 CLI 无法查询数据。

ray summary tasks [OPTIONS]

选项

--timeout <timeout>#

API 请求的超时时间(秒)。默认为 30。

--address <address>#

Ray API 服务器的地址。如果未提供,将通过查询 GCS 服务器自动配置。

ray summary actors#

汇总集群的 actor 状态。

默认情况下,输出包含按 actor 类名分组的信息。

输出架构为 ray.util.state.common.ActorSummaries

引发
RayStateApiException

如果 CLI 无法查询数据。

ray summary actors [OPTIONS]

选项

--timeout <timeout>#

API 请求的超时时间(秒)。默认为 30。

--address <address>#

Ray API 服务器的地址。如果未提供,将通过查询 GCS 服务器自动配置。

ray summary objects#

汇总集群的对象状态。

建议在调试内存泄漏时使用此 API。有关更多详细信息,请参阅 使用 Ray 内存进行调试。(请注意,此命令几乎等同于 ray memory,但它返回的输出更易于理解)。

默认情况下,输出包含按对象调用站点分组的信息。请注意,如果未配置环境变量 RAY_record_ref_creation_sites,则不会收集调用站点,并且所有数据都将聚合为“disable”调用站点。要启用调用站点收集,请在启动 Ray 时设置以下环境变量。

示例

` RAY_record_ref_creation_sites=1 ray start --head `

` RAY_record_ref_creation_sites=1 ray_script.py `

输出架构为 ray.util.state.common.ObjectSummaries

引发
RayStateApiException

如果 CLI 无法查询数据。

ray summary objects [OPTIONS]

选项

--timeout <timeout>#

API 请求的超时时间(秒)。默认为 30。

--address <address>#

Ray API 服务器的地址。如果未提供,将通过查询 GCS 服务器自动配置。

ray list#

列出给定资源的全部状态。

通常,在列出所有资源之前建议使用 summary API。

输出架构在 State API Schema 部分 定义。

例如,ray list tasks 的输出架构是 TaskState

用法

列出集群中的所有 actor 信息。

` ray list actors `

列出集群中的 50 个 actor。无法控制排序顺序。

` ray list actors --limit 50 `

列出 10 个状态为 PENDING 的 actor。

` ray list actors --limit 10 --filter "state=PENDING" `

以 yaml 格式列出 actor。

` ray list actors --format yaml `

列出 actor 的详细信息。指定 --detail 时,可能会查询更多数据源以获取详细数据。

` ray list actors --detail `

API 查询集群中的一个或多个组件以获取数据。返回的状态快照可能是过时的,不保证返回实时数据。

在以下情况下,API 可能会返回部分或缺失的输出。

  • 当 API 查询超过 1 个组件时,如果其中某些组件失败,API 将返回部分结果(并显示可抑制的警告)。

  • 当 API 返回的条目过多时,API 将截断输出。目前,用户无法选择截断的数据。

参数

resource: 要查询的资源的类型。

引发
RayStateApiException

如果 CLI 无法查询数据。

更改
  • 版本 2.7 中已更改:–filter 值不区分大小写。

ray list [OPTIONS] {actors|jobs|placement-
         groups|nodes|workers|tasks|objects|runtime-envs|cluster-events}

选项

--format <format>#
选项:

default | json | yaml | table

-f, --filter <filter>#

用于过滤结果的键、谓词和值。例如,–filter ‘key=value’ 或 –filter ‘key!=value’。您可以指定多个 –filter 选项。在这种情况下,所有谓词都以 AND 连接。例如,–filter key=value –filter key2=value 表示 (key==val) AND (key2==val2),字符串过滤值不区分大小写。

--limit <limit>#

返回的最大条目数。默认为 100。

--detail#

如果设置了该标志,输出将包含更详细的数据。请注意,API 可能会查询更多源以获取更详细的信息。

--timeout <timeout>#

API 请求的超时时间(秒)。默认为 30。

--address <address>#

Ray API 服务器的地址。如果未提供,将通过查询 GCS 服务器自动配置。

参数

RESOURCE#

必需参数。

ray get#

按 ID 获取给定资源的某个状态。

目前我们不支持按 ID 获取 jobs 和 runtime-envs。

输出架构在 State API Schema 部分 定义。

例如,ray get tasks <task-id> 的输出架构是 TaskState

用法

使用 actor ID <actor-id> 获取 actor。

` ray get actors <actor-id> `

使用 <placement-group-id> 获取 placement group 信息。

` ray get placement-groups <placement-group-id> `

API 查询集群中的一个或多个组件以获取数据。返回的状态快照可能是过时的,不保证返回实时数据。

参数

resource: 要查询的资源的类型。id: 资源的 ID。

引发
RayStateApiException

如果 CLI 无法查询数据。

ray get [OPTIONS] {actors|placement-
        groups|nodes|workers|tasks|objects|cluster-events} [ID]

选项

--address <address>#

Ray API 服务器的地址。如果未提供,将通过查询 GCS 服务器自动配置。

--timeout <timeout>#

API 请求的超时时间(秒)。默认为 30。

参数

RESOURCE#

必需参数。

ID#

可选参数。

Log#

本节包含用于访问 Ray 集群日志的命令。

注意

API 尚处于alpha 阶段。此功能需要使用 pip install "ray[default]" 完全安装 Ray。

Log CLI 允许用户访问集群的日志。请注意,此 API 只能访问活跃节点的日志。

ray logs#

根据文件名(集群)或资源标识符(actor)获取日志。

示例

获取节点上所有可用的日志文件(ray 地址可从 ray start --headray.init() 获取)。

` ray logs cluster `

[ray logs cluster] 打印 head 节点上 raylet.out 的最后 500 行。

` ray logs cluster raylet.out --tail 500 `

或者,简单地使用 ray logs 作为 ray logs cluster 的别名。

` ray logs raylet.out --tail 500 `

打印节点 A 上的 raylet.out 的最后 500 行。

` ray logs raylet.out --tail 500 —-node-id A `

[ray logs actor] 跟踪 actor ID ABC 的日志文件。

` ray logs actor --id ABC --follow `

[ray logs task] 获取任务生成的标准错误输出。

注意:如果任务来自并发 actor(即异步 actor 或多线程 actor),任务的日志可能会交织在一起。请使用 ray logs actor --id <actor_id> 来获取完整的 actor 日志。

` ray logs task --id <TASK_ID> --err `

ray logs [OPTIONS] COMMAND [ARGS]...

命令

actor

获取/列出与 actor 相关的日志。

cluster

获取/列出与 GLOB_FILTER... 匹配的日志。

job

获取与提交作业相关的日志。

task

获取与任务相关的日志。

worker

获取与工作进程相关的日志。