Splunk® Enterprise

Search Manual

Memory and stats search performance

A pair of limits.conf settings strike a balance between the performance of the stats family of search commands and the amount of memory they use during the search process, in RAM and on disk. If your stats, sistats, geostats, tstats, or mstats searches are consistently slow to complete, you can adjust these settings to improve their performance, but at the cost of increased search-time memory usage, which can lead to search failures.

When you run a stats search, the search head returns batches of results until the search result set is complete. The max_mem_usage_mb setting in the [default] stanza of limits.conf limits the amount of memory (RAM) that a batch of search results can take up during the stats search process. Its default setting is 200 MB. Lower limits to max_mem_usage_mb can cause a search to be slower to complete, but there should be no loss of results.

The stats command processor spills data from RAM to disk when the amount of RAM that the batch is estimated to use exceeds max_mem_usage_mb. Do not set max_mem_usage_mb=0 as this removes the bounds to the amount of memory a batch can use.

If you run a lot of high cardinality stats searches (searches that must match, filter, and aggregate extremely large numbers of discrete field values), consider reducing max_keymap_rows to improve their performance. This setting in the [stats | sistats] stanza of limits.conf limits the number of result rows that the stats search processor can store in the key map during the mapping phase of the map-reduce operation in a stats search. The stats search processor stores expunged result rows in memory, subject to the max_mem_usage_mb setting.

The eventstats and streamstats commands also use these settings, but in a slightly different way.

For more information, see the topics for eventstats and streamstats in the Search Reference.

Splunk Cloud Platform
To change these limitations, request help from Splunk Support. If you have a support contract, file a new case using the Splunk Support Portal at Support and Services. Otherwise, contact Splunk Customer Support.
Splunk Enterprise
Prerequisites
  • Only users with file system access, such as system administrators, can increase the max_mem_usage_mb and max_keymap_rows settings using configuration files.
  • Review the steps in How to edit a configuration file in the Splunk Enterprise Admin Manual.

Never change or copy the configuration files in the default directory. The files in the default directory must remain intact and in their original location. Make the changes in the local directory.

Steps
  1. Open the local limits.conf file for the Search app. For example, $SPLUNK_HOME/etc/apps/<app_name>/local.
  2. Under the [default] stanza, set max_mem_usage_mb to the value you want to use.
  3. Under the [stats | sistats] stanza, set max_keymap_rows to the value you want to use.
Last modified on 28 October, 2021
Add sparklines to search results   About advanced statistics

This documentation applies to the following versions of Splunk® Enterprise: 8.2.0, 8.2.1, 8.2.2, 8.2.3, 8.2.4, 8.2.5, 8.2.6, 8.2.7, 8.2.8, 8.2.9, 8.2.10, 8.2.11, 8.2.12, 9.0.0, 9.0.1, 9.0.2, 9.0.3, 9.0.4, 9.0.5, 9.0.6, 9.0.7, 9.0.8, 9.0.9, 9.0.10, 9.1.0, 9.1.1, 9.1.2, 9.1.3, 9.1.4, 9.1.5, 9.1.6, 9.1.7, 9.2.0, 9.2.1, 9.2.2, 9.2.3, 9.2.4, 9.3.0, 9.3.1, 9.3.2


Was this topic useful?







You must be logged into splunk.com in order to post comments. Log in now.

Please try to keep this discussion focused on the content covered in this documentation topic. If you have a more general question about Splunk functionality or are experiencing a difficulty with Splunk, consider posting a question to Splunkbase Answers.

0 out of 1000 Characters