cbls.remote#

服务进程#

cbls.remote - 远程主机负载传感器

概要#

CB_SERVERDIR/cbls.remote

描述#

cbls.remote 是 AIP 中自定义的远程主机负载传感器。它由 AIP 负载服务器 cbls 定期执行,以获取远程服务器的信息和负载。

cbls.remote 必须位于 CB_SERVERDIR 目录中,例如 /opt/skyformai/sbin,并且必须是可执行文件。

CBLS.REMOTE 代码逻辑#

cbls.remote 代码逻辑应从所有远程主机获取所需数据。 与 RESS 不同,它不应该是无限循环,也就是说,主 cbls 会定期调用它。它只能由主 cbls 调用。它应该 输出 YAML 数据,然后退出。

cbls.remote 输出示例:

---
remote_hosts:
- name: node0013
  model: x6_5424_IntelRCoreTMi57200UCPU250GHz
  type: x86_64Linux
  status: ok
  cpuf: 54.2
  sockets: 4
  cores_per_socket: 1
  cpus: 4
  maxmem: 1980
  maxswap: 2047
  gpus:
  - id: 0
    model: GeForce RTX 2080 Ti
    totalmem: 11019
  - id: 1
    model:GeForce RTX 2080 Ti
   totalmem:11019
  ut:0.23
  r1m:1.23
  mem:1311.0
  up:42507
...

命令“cbls -y”提供了远程主机数据的示例输出。

输出格式#

cbls.remote 的输出应遵循 YAML 标准。第一行始终为:’remote_hosts:’。然后是一个数据数组。数组中的每个元素代表 cb.yaml 中配置的一个远程主机。

对于每个远程主机,其元素包括:

name:

主机名。主机名必须在 cb.yaml 中配置为远程主机,否则 cbls.remote 中的主机数据将被忽略。此字段为必填字段。

model:

CPU 型号。如果此字段缺失,远程主机将被标记为与主控主机相同的 CPU 型号。CPU 型号可以是任何字符串。此字段为可选字段。

type:

主机类型,例如:x86_64Linux。如果此字段缺失,远程主机将被标记为与主控主机相同的主机型号。此字段为可选字段。

status:

如果主机状态良好,可以运行作业,则该值应为“ok”。否则,请输入其他字符串。此字段为必填字段。

cpuf:

一个数值,表示主机的性能。Linux 中的典型值为“lscpu”输出中的 BogoMIPS 除以 100。如果缺失,则将采用与主控主机相同的值。此字段为可选字段。

sockets:

主机上的 CPU 插槽数量。此字段为可选字段。

cores_per_socket:

每个 CPU 插槽的 CPU 物理核数。此字段为可选字段。

cpus:

逻辑 CPU 核总数。此字段为可选字段。默认值为 1。

maxmem:

主机上安装的最大内存(以 MB 为单位)。此字段为必填字段。

maxswap:

主机上配置的最大交换空间(以 MB 为单位)。此字段为可选字段。

gpus:

GPU 数据数组。此字段为可选字段。

id:

GPU ID。通常为 0、1、2 等。如果存在 gpus 部分,则此字段为必填字段。

model:

GPU 型号。例如:Tesla P100。此字段为可选字段。

totalmem:

GPU 的安装总内存(以 MB 为单位)。此字段为可选字段。

ut:

过去一分钟内 CPU 利用率的指数平均值, 介于 0 到 1 之间。此字段为可选字段。

r15s:

15 秒内 CPU 运行队列长度的指数平均值。此字段 为可选字段。

r1m:

1 分钟内 CPU 运行队列长度的指数平均值。此字段为可选字段。

r15m:

15 分钟内 CPU 运行队列长度的指数平均值。此字段为可选字段。

pg:

过去一分钟内内存分页速率的指数平均值, 以每秒页数为单位。此字段为可选字段。

io:

过去一分钟内网络 I/O 速率的指数平均值, 以每秒 KB 为单位。此字段为可选字段。

up:

主机正常运行时间(分钟)。此字段为可选字段。

swap:

可用的交换空间大小,以兆字节为单位。此字段为可选字段。

mem:

可用的内存大小,以兆字节为单位。此字段为可选字段。

tmp:

/tmp 中的可用空间大小,以兆字节为单位。此字段为可选字段。