状态 CLI#

状态#

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

备注

API 是 alpha。此功能需要使用 pip install "ray[default]" 进行 Ray 的完整安装。此功能还需要仪表板组件可用。启动 Ray 集群时需要包含仪表板组件,这是 ray startray.init() 的默认行为。如需更深入的调试,您可以检查仪表板日志 <RAY_LOG_DIR>/dashboard.log,通常是 /tmp/ray/session_latest/logs/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#

总结集群的参与者状态。

默认情况下,输出内容按参与者类名称分组。

输出模式是 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内存调试 。(注意,此命令几乎等同于 ray memory,但它返回更易理解的输出)。

默认情况下,输出包含按对象调用点分组的信息。请注意,如果未配置环境变量 RAY_record_ref_creation_sites,则不会收集调用点,所有数据将聚合为“禁用”调用点。要启用调用点收集,请在启动 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#

列出给定资源的所有状态。

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

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

例如,ray list tasks 的输出模式是 TaskState

用法:

列出集群中所有演员信息。

` ray list actors `

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

` ray list actors --limit 50 `

列出10个状态为PENDING的演员。

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

以 yaml 格式列出演员。

` ray list actors --format yaml `

列出带详情的演员。当指定 –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>#
选项:

默认 | json | yaml | 表格

-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获取作业和运行时环境。

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

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

用法:

获取演员ID为 <actor-id> 的演员

` ray get actors <actor-id> `

获取带有 <placement-group-id> 的放置组信息

` 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。

参数

RESOURCE#

必需参数

ID#

可选参数

日志#

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

备注

API 是 alpha 。此功能需要使用 pip install "ray[default]" 完整安装 Ray。

Log CLI 允许用户从集群访问日志。请注意,只有来自活动节点的日志可以通过此API获取。

ray logs#

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

示例:

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

` ray logs cluster `

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

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

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

` ray logs raylet.out --tail 500 `

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

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

[ray logs actor] 使用演员ID ABC 跟踪日志文件。

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

[ray 日志任务] 获取任务生成的标准错误。

注意:如果任务来自并发执行者(即异步执行者或线程执行者),任务的日志预计会交错显示。请使用 ray logs actor --id <actor_id> 获取整个执行者的日志。

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

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

命令

actor

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

cluster

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

job

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

task

获取与任务相关的日志。

worker

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