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 中的可用空间大小,以兆字节为单位。此字段为可选字段。