Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Руководство [8.17] ›REST API ›API машинного обучения

API получения статистики памяти машинного обучения

Новая справка по API

Для получения самых последних данных по API, обратитесь к API машинного обучения.

Возвращает информацию о том, как машинное обучение использует память.

Запрос

GET _ml/memory/_stats
GET _ml/memory/<node_id>/_stats

Предварительные условия

Требует привилегию кластера monitor_ml. Эта привилегия включена в встроенную роль machine_learning_user.

Описание

Получите информацию о том, как задачи машинного обучения и обученные модели используют память на каждом узле, как в куче JVM, так и в нативной памяти вне JVM.

Параметры пути

<node_id>
(Необязательный, строка) Имена конкретных узлов в кластере, на которые нужно нацелиться. Например, nodeId1,nodeId2 или ml:true. Для вариантов выбора узлов, см. Спецификацию узла.

Параметры запроса

human
Укажите этот параметр запроса, чтобы включить в ответ поля с единицами измерения. В противном случае в ответе будут возвращаться только размеры _in_bytes.
master_timeout
(Необязательный, единицы измерения времени) Время ожидания узла-мастера. Если узел-мастер не доступен до истечения таймаута, запрос завершается ошибкой. По умолчанию 30s. Также можно установить значение -1, чтобы указать, что запрос никогда не должен превышать таймаут.
timeout
(Необязательный, единицы измерения времени) Время ожидания ответа от всех соответствующих узлов в кластере после обновления метаданных кластера. Если ответ не получен до истечения таймаута, обновление метаданных кластера все равно применяется, но ответ укажет, что оно не было полностью подтверждено. По умолчанию 30s. Также можно установить значение -1, чтобы указать, что запрос никогда не должен превышать таймаут.

Тело ответа

_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
(строка) Эфемерный идентификатор узла.
jvm

(объект) Содержит статистику виртуальной машины Java (JVM) для узла.

Свойства jvm
heap_max
(значение в байтах) Максимальный объем памяти, доступный для кучи.
heap_max_in_bytes
(целое число) Максимальный объем памяти, в байтах, доступный для кучи.
java_inference
(значение в байтах) Объем используемой кучи Java для кэширования моделей инференции.
java_inference_in_bytes
(целое число) Объем кучи Java, в байтах, используемой для кэширования моделей инференции.
java_inference_max
(значение в байтах) Максимальный объем кучи Java для кэширования моделей инференции.
java_inference_max_in_bytes
(целое число) Максимальный объем кучи Java, в байтах, для кэширования моделей инференции.
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
(строка) Читабельный идентификатор узла. Основан на настройке Node name setting.
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
      }
    }
  }
}

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/get-ml-memory.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API