状态 CLI#
状态#
本节包含访问 Ray 资源(actor、任务、对象等)实时状态的命令。
备注
API 是 alpha。此功能需要使用 pip install "ray[default]"
进行 Ray 的完整安装。此功能还需要仪表板组件可用。启动 Ray 集群时需要包含仪表板组件,这是 ray start
和 ray.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 --head
或ray.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
获取与工作进程相关的日志。