[role="xpack"] [[ml-snapshot-resource]] === Model Snapshot Resources Model snapshots are saved to disk periodically. By default, this is occurs approximately every 3 hours to 4 hours and is configurable with the `background_persist_interval` property. By default, model snapshots are retained for one day. You can change this behavior by updating the `model_snapshot_retention_days` for the job. When choosing a new value, consider the following: * Persistence enables resilience in the event of a system failure. * Persistence enables snapshots to be reverted. * The time taken to persist a job is proportional to the size of the model in memory. //* The smallest allowed value is 3600 (1 hour). A model snapshot resource has the following properties: `description`:: (string) An optional description of the job. `job_id`:: (string) A numerical character string that uniquely identifies the job that the snapshot was created for. `latest_record_time_stamp`:: (date) The timestamp of the latest processed record. `latest_result_time_stamp`:: (date) The timestamp of the latest bucket result. `model_size_stats`:: (object) Summary information describing the model. See <>. `retain`:: (boolean) If true, this snapshot will not be deleted during automatic cleanup of snapshots older than `model_snapshot_retention_days`. However, this snapshot will be deleted when the job is deleted. The default value is false. `snapshot_id`:: (string) A numerical character string that uniquely identifies the model snapshot. For example: "1491852978". `snapshot_doc_count`:: (long) For internal use only. `timestamp`:: (date) The creation timestamp for the snapshot. [float] [[ml-snapshot-stats]] ==== Model Size Statistics The `model_size_stats` object has the following properties: `bucket_allocation_failures_count`:: (long) The number of buckets for which entities were not processed due to memory limit constraints. `job_id`:: (string) A numerical character string that uniquely identifies the job. `log_time`:: (date) The timestamp that the `model_size_stats` were recorded, according to server-time. `memory_status`:: (string) The status of the memory in relation to its `model_memory_limit`. Contains one of the following values. `ok`::: The internal models stayed below the configured value. `soft_limit`::: The internal models require more than 60% of the configured memory limit and more aggressive pruning will be performed in order to try to reclaim space. `hard_limit`::: The internal models require more space that the configured memory limit. Some incoming data could not be processed. `model_bytes`:: (long) An approximation of the memory resources required for this analysis. `result_type`:: (string) Internal. This value is always set to "model_size_stats". `timestamp`:: (date) The timestamp that the `model_size_stats` were recorded, according to the bucket timestamp of the data. `total_by_field_count`:: (long) The number of _by_ field values analyzed. Note that these are counted separately for each detector and partition. `total_over_field_count`:: (long) The number of _over_ field values analyzed. Note that these are counted separately for each detector and partition. `total_partition_field_count`:: (long) The number of _partition_ field values analyzed.