获取机器学习内存统计信息 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 连接的主机和端口。
-
-
示例编辑
response = client.ml.get_memory_stats( human: true ) puts 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 } } } }