機械学習メモリ統計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
- (文字列)ノードのエフェメラル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
- (文字列)ノードの人間可読な識別子。ノード名設定 設定に基づいています。
roles
- (文字列の配列)ノードに割り当てられた役割。ノードを参照してください。
transport_address
- (文字列)トランスポートHTTP接続が受け入れられるホストとポート。
例
Python
resp = client.ml.get_memory_stats(
human=True,
)
print(resp)
Ruby
response = client.ml.get_memory_stats(
human: true
)
puts response
Js
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
}
}
}
}