MicroStrategy ONE

Configure Automatic Memory Tuning

MicroStrategy Intelligence Server uses a memory management component called SmartHeap. This component is designed to maximize memory allocation performance, especially in a multi-threaded and multi-processor environment.

The table below details the environment variable settings you can use to adjust automatic memory turning.

Environment Variable Setting Behavior
MSTR_MEM_CACHE_AUTO_CONFIG=0 Enables light memory tuning and disables dynamic memory tuning. The memory usage is consistent with 10.10 and previous versions.
MSTR_MEM_CACHE_AUTO_CONFIG=1 Enables high-level, aggressive memory tuning. This can provide performance improvements under concurrency for some cases. The memory usage is also expected to have a considerable increase.
MSTR_MEM_CACHE_AUTO_CONFIG=2 Enables middle-level, conservative memory tuning. This is the default behavior in 11.0. It can provide some performance improvements under concurrency for machines larger than 256 GB with more than 64 cores. The memory usage is expected to slightly increase, but it is lower than MSTR_MEM_CACHE_AUTO_CONFIG=1. This setting does not apply to versions prior to 11.0.

MSTR_MEM_CACHE_AUTO_CONFIG is not set

If you do not set this variable, the default behavior is used. In MicroStrategy 10.11 and previous versions, the default behavior is the same as MSTR_MEM_CACHE_AUTO_CONFIG=0. In MicroStrategy 11.0, the default behavior is the same as MSTR_MEM_CACHE_AUTO_CONFIG=2.

Enabling middle level or high level memory tuning can potentially increase the memory footprint of Intelligence Server. However, Intelligence Server has the ability to release the cached memory in Smartheap when Intelligence Server is about to hit Memory Contract Manager denial.

For detail about how Intelligence Server releases the cached memory in Smartheap, please refer to the knowledge base in MicroStrategy Community.