获取机器学习内存统计 API
编辑获取机器学习内存统计 API
编辑返回有关机器学习如何使用内存的信息。
请求
编辑GET _ml/memory/_stats
GET _ml/memory/<node_id>/_stats
先决条件
编辑需要 monitor_ml
集群权限。此权限包含在 machine_learning_user
内置角色中。
描述
编辑获取有关机器学习作业和训练模型如何在每个节点上使用内存的信息,包括 JVM 堆内和 JVM 之外的本机内存。
查询参数
编辑响应正文
编辑-
_nodes
-
(对象)包含有关请求选择的节点数量的统计信息。
_nodes
的属性-
failed
- (整数)拒绝请求或未能响应的节点数。如果此值不为
0
,则响应中会包含拒绝或失败的原因。 -
successful
- (整数)成功响应请求的节点数。
-
total
- (整数)请求选择的节点总数。
-
-
cluster_name
- (字符串)集群的名称。基于 cluster.name 设置。
-
nodes
-
(对象)包含请求选择的节点的统计信息。
nodes
的属性-
<node_id>
-
(对象)包含节点的统计信息。
<node_id>
的属性-
attributes
- (对象)列出节点属性,例如
ml.machine_memory
或ml.max_open_jobs
设置。 -
ephemeral_id
- (字符串)节点的临时 ID。
-
jvm
-
(对象)包含节点的 Java 虚拟机 (JVM) 统计信息。
-
mem
-
(对象)包含有关节点内存使用情况的统计信息。
mem
的属性-
adjusted_total
- (字节值)如果使用
es.total_memory_bytes
系统属性覆盖了物理内存量,则此属性会报告覆盖值。否则,它会报告与total
相同的值。 -
adjusted_total_in_bytes
- (整数)如果使用
es.total_memory_bytes
系统属性覆盖了物理内存量,则此属性会报告以字节为单位的覆盖值。否则,它会报告与total_in_bytes
相同的值。 -
ml
-
(对象)包含有关节点上机器学习本机内存使用情况的统计信息。
ml
的属性-
anomaly_detectors
- (字节值)为异常检测作业预留的本机内存量。
-
anomaly_detectors_in_bytes
- (整数)为异常检测作业预留的本机内存量(以字节为单位)。
-
data_frame_analytics
- (字节值)为数据帧分析作业预留的本机内存量。
-
data_frame_analytics_in_bytes
- (整数)为数据帧分析作业预留的本机内存量(以字节为单位)。
-
max
- (字节值)机器学习本机进程可能使用的最大本机内存量(与 JVM 堆分开)。
-
max_in_bytes
- (整数)机器学习本机进程可能使用的最大本机内存量(以字节为单位,与 JVM 堆分开)。
-
native_code_overhead
- (字节值)为加载机器学习本机代码共享库而预留的本机内存量。
-
native_code_overhead_in_bytes
- (整数)为加载机器学习本机代码共享库而预留的本机内存量(以字节为单位)。
-
native_inference
- (字节值)为具有 PyTorch
model_type
的训练模型预留的本机内存量。 -
native_inference_in_bytes
- (整数)为具有 PyTorch
model_type
的训练模型预留的本机内存量(以字节为单位)。
-
-
total
- (字节值)物理内存总量。
-
total_in_bytes
- (整数)物理内存总量(以字节为单位)。
-
-
name
- (字符串)节点的人类可读标识符。基于 节点名称设置设置。
-
roles
- (字符串数组)分配给节点的角色。请参阅 节点。
-
transport_address
- (字符串)接受传输 HTTP 连接的主机和端口。
-
-
示例
编辑resp = client.ml.get_memory_stats( human=True, ) print(resp)
response = client.ml.get_memory_stats( human: true ) puts response
const response = await client.ml.getMemoryStats({ human: "true", }); console.log(response);
GET _ml/memory/_stats?human
这是一个可能的响应
{ "_nodes": { "total": 1, "successful": 1, "failed": 0 }, "cluster_name": "my_cluster", "nodes": { "pQHNt5rXTTWNvUgOrdynKg": { "name": "node-0", "ephemeral_id": "ITZ6WGZnSqqeT_unfit2SQ", "transport_address": "127.0.0.1:9300", "attributes": { "ml.machine_memory": "68719476736", "ml.max_jvm_size": "536870912" }, "roles": [ "data", "data_cold", "data_content", "data_frozen", "data_hot", "data_warm", "ingest", "master", "ml", "remote_cluster_client", "transform" ], "mem": { "total": "64gb", "total_in_bytes": 68719476736, "adjusted_total": "64gb", "adjusted_total_in_bytes": 68719476736, "ml": { "max": "19.1gb", "max_in_bytes": 20615843020, "native_code_overhead": "0b", "native_code_overhead_in_bytes": 0, "anomaly_detectors": "0b", "anomaly_detectors_in_bytes": 0, "data_frame_analytics": "0b", "data_frame_analytics_in_bytes": 0, "native_inference": "0b", "native_inference_in_bytes": 0 } }, "jvm": { "heap_max": "512mb", "heap_max_in_bytes": 536870912, "java_inference_max": "204.7mb", "java_inference_max_in_bytes": 214748364, "java_inference": "0b", "java_inference_in_bytes": 0 } } } }