[role="xpack"]
[testenv="platinum"]
[[ml-estimate-model-memory]]
= Estimate {anomaly-jobs} model memory API
++++
Estimate model memory
++++
Makes an estimation of the memory usage for an {anomaly-job} model. It
is based on analysis configuration details for the job and cardinality estimates for the
fields it references.
[[ml-estimate-model-memory-request]]
== {api-request-title}
`POST _ml/anomaly_detectors/_estimate_model_memory`
[[ml-estimate-model-memory-prereqs]]
== {api-prereq-title}
If the {es} {security-features} are enabled, you must have the following
equivalent privileges:
* `manage_ml` or cluster: `manage`
For more information, see <>.
[[ml-estimate-model-memory-request-body]]
== {api-request-body-title}
`analysis_config`::
(Required, object)
For a list of the properties that you can specify in the `analysis_config`
component of the body of this API, see <>.
`max_bucket_cardinality`::
(Required^\*^, object)
Estimates of the highest cardinality in a single bucket that is observed for
influencer fields over the time period that the job analyzes data. To produce a
good answer, values must be provided for all influencer fields. Providing values
for fields that are not listed as `influencers` has no effect on the estimation. +
^*^It can be omitted from the request if there are no `influencers`.
`overall_cardinality`::
(Required^\*^, object)
Estimates of the cardinality that is observed for fields over the whole time
period that the job analyzes data. To produce a good answer, values must be
provided for fields referenced in the `by_field_name`, `over_field_name` and
`partition_field_name` of any detectors. Providing values for other fields has
no effect on the estimation. +
^*^It can be omitted from the request if no detectors have a `by_field_name`,
`over_field_name` or `partition_field_name`.
[[ml-estimate-model-memory-example]]
== {api-examples-title}
[source,console]
--------------------------------------------------
POST _ml/anomaly_detectors/_estimate_model_memory
{
"analysis_config": {
"bucket_span": "5m",
"detectors": [
{
"function": "sum",
"field_name": "bytes",
"by_field_name": "status",
"partition_field_name": "app"
}
],
"influencers": [ "source_ip", "dest_ip" ]
},
"overall_cardinality": {
"status": 10,
"app": 50
},
"max_bucket_cardinality": {
"source_ip": 300,
"dest_ip": 30
}
}
--------------------------------------------------
// TEST[skip:needs-licence]
The estimate returns the following result:
[source,console-result]
----
{
"model_memory_estimate": "21mb"
}
----