状态 CLI#

状态#

本节包含访问 Ray 资源(actor、任务、对象等)的实时状态的命令。

注意

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

State CLI 允许用户访问各种资源(例如 actor、任务、对象)的状态。

ray summary tasks#

汇总集群的任务状态。

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

输出模式为 TaskSummaries

Raises
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

Raises
RayStateApiException

如果 CLI 查询数据失败。

ray summary actors [OPTIONS]

选项

--timeout <timeout>#

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

--address <address>#

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

ray summary objects#

汇总集群的对象状态。

在调试内存泄漏时推荐使用此 API。有关更多详细信息,请参阅使用 Ray Memory 进行调试。(请注意,此命令几乎等同于 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

Raises
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 查询多个组件时,如果其中某些组件失败,API 将返回部分结果(并带有可抑制的警告)。

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

参数

resource: 要查询的资源类型。

Raises
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 服务器自动配置。

Arguments

RESOURCE#

必需参数

ray get#

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

我们目前不支持按 ID 获取作业和运行时环境的状态

输出模式定义在 State API Schema 部分。

例如,ray get tasks <task-id> 的输出模式为 TaskState

用法

获取 ID 为 <actor-id> 的 actor

` ray get actors <actor-id> `

获取 ID 为 <placement-group-id> 的 placement group 信息

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

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

参数

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

Raises
RayStateApiException

如果 CLI 查询数据失败。

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

选项

--address <address>#

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

--timeout <timeout>#

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

Arguments

RESOURCE#

必需参数

ID#

可选参数

日志#

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

注意

API 处于Alpha阶段。此功能需要通过 pip install "ray[default]" 进行完整安装。

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 `

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

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

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

` 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

获取与 worker 进程关联的日志。