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 maxresultrows
setting in the [searchresults]
stanza sets a limit for the number of results that the search head can gather in a single batch, with the default being 50,000 rows at a time. Do not increase maxresultrows
in the interest of gaining better search performance, as doing so could cause your system to run out of memory. You might lower maxresultrows
if you are encountering stability issues with your stats
searches.
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 results exceeds maxresultrows
and the amount of RAM that the results are estimated to use exceeds max_mem_usage_mb
. When max_mem_usage_mb=0
there are no bounds to the amount of memory the results can use. If you set max_mem_usage_mb=0
, the stats
command processor spills search results to disk when the number of results in a batch exceeds the limit set by maxresultrows
.
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.
Prerequisites
- Only users with file system access, such as system administrators, can increase the
maxresultrows
andmax_mem_usage_mb
settings using configuration files. - Review the steps in How to edit a configuration file in the Splunk Enterprise Admin Manual.
- You can have configuration files with the same name in your default, local, and app directories. Read Where you can place (or find) your modified configuration files 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 changes to the files in the local directory.
If you are using Splunk Cloud and want to change either of these limits, file a Support ticket.
This documentation applies to the following versions of Splunk® Enterprise: 7.1.0, 7.1.1, 7.1.2, 7.1.3, 7.1.4, 7.1.5, 7.1.6, 7.1.7, 7.1.8, 7.1.9, 7.1.10, 7.2.0, 7.2.1, 7.2.2, 7.2.3, 7.2.4, 7.2.5, 7.2.6, 7.2.7, 7.2.8, 7.2.9, 7.2.10, 7.3.0, 7.3.1, 7.3.2, 7.3.3, 7.3.4, 7.3.5, 7.3.6, 7.3.7, 7.3.8, 7.3.9, 8.0.0, 8.0.1, 8.0.2, 8.0.3, 8.0.4, 8.0.5, 8.0.6, 8.0.7, 8.0.8, 8.0.9, 8.0.10, 8.1.0, 8.1.1, 8.1.2, 8.1.3, 8.1.4, 8.1.5, 8.1.6, 8.1.7, 8.1.8, 8.1.9, 8.1.10, 8.1.11, 8.1.12, 8.1.13, 8.1.14
Feedback submitted, thanks!