Strategy ONE
Memory Mapped Files for Intelligent Cubes
Memory mapped files (MMF) can be used for effective RAM utilization. For prior releases, either a cube was loaded, residing completely in RAM, or unloaded. Now we look to leverage operating system capabilities to enable more cubes to be ‘loaded’ between RAM and disk.
As shown in the screenshot above, only one cube cache can be loaded in RAM at any given time. With MMF, multiple cube caches can be loaded in RAM.
Requirements
To use MMF, more disk space than system memory is required. The disk space is checked at server startup and logged into DSSErrors.log with a message similar to one of the following errors below. If enabled, it is also checked on subsequent publishings, with additional logging only if the amount of disk drops too low.
Enable MMF as the available disk size (25338925056) on /iserver-install/BIN/Linux is not less than the total physical memory size (7890911232)Disable MMF as the available disk size (5338925056) on /iserver-install/BIN/Linux is less than the total physical memory size (7890911232)
The number of descriptors for Linux, using the nofiles limit, should be set to at least 65535 as mentioned in Recommended System Settings for Linux.
File and Folder Structure
When enabled, a file or set of files are created for each managed cube under a CubeGovern folder, with structure \CubeGovern\{ServerDefiniton}\Server_{machine}_P{project}\MMF\{CubeInstanceID}. This folder may contain a single file for non-partition OLAP cubes, or multiple files for partitioned cubes (based on number of partitions and attributes used) and MTDI cubes (based on number of fact tables, along with partitioning). The location of this CubeGovern folder may vary, but can be found from the DSSErrors entry referenced in the Requirements section. These files are deleted if the cube is completely unloaded, and created when the cube is published or loaded again.
Enable or Disable MMF
The usage of memory mapped files is configurable through MicroStrategy Workstation at the environment, project, and cube (excluding live connect) levels, with the options for the project level shown below.
You can hover over the longer options, such Apply best strategy to maximize performance with given resources and Turn-off the capability without exceptions to view their full text.
The behavior for each of these settings is as follows:
| Value | Behavior |
| Use inherited value (Not available at the environment level) |
Uses the setting determined at higher levels, such as the project for a cube, an environment for a project, etc. |
| Apply best strategy to maximize performance with given resources | Memory mapped files are only created after fetching data and only for cubes smaller than approximately 1 GB. |
| Turn-off the capability without exceptions (Not available at the cube level) |
Memory mapped files not used, regardless of the settings at the lower level. |
| Disable the capability | Memory mapped files are not used, unless they are enabled at a lower level. |
| Enable the capability | Memory mapped files are used, unless disabled at lower level or the disk requirement shown above is not met. |
Troubleshooting
File Descriptor on Linux
When using memory mapped files (MMFs) on systems with large numbers of loaded cubes, particularly partitioned cubes, it is possible to exceed the OS-configurable limit of open files per process. The following examples show the errors you may encounter if this limit is met through usage of this feature against a Linux Intelligence server.
The following error is from publishing a cube in MicroStrategy Web.
(QueryEngine encounter error: MFileSystem:OpenStream: ::fopen failed for '/iserver-install/BIN/Linux/MSIReg.reg_lock'. System Error (EMFILE) --- Too many open files. Error in Process method of Component: QueryEngineServer, Project Nico's MD Population Opt for Cubes, Job 908, Error Code= -214721544.)
The same error is encountered from republishing a cube within the dashboard editor in MicroStrategy Workstation.
MMFs Are Not Generated On Disk
Please check the available disk space and refer to the previous Requirements section.
MMFDiskSpaceThresholdPercent
Starting in Strategy One (September 2025), the default value for registry key MMFDiskSpaceThresholdPercent is 40% in container environments.
Starting in Strategy One (June 2025), the disk space requirement to enable MMF can be modified using the MMFDiskSpaceThresholdPercent registry key, which defines the minimum percentage of available disk space relative to the total system memory. For example, if this value is set to 40, MMF will only be enabled if the available disk space is at least 40% of the total system memory. Valid values for this setting range from 30 to 200.
Messages logged in DSSErrors.log when MMF is enabled or disabled:
Enable MMF as the available disk size (221464764416) on /opt/mstr/MicroStrategy/IntelligenceServer is not less than 40 percent of the total physical memory size (7369392128)
Disable MMF as the available disk size (47523815424) on /opt/mstr/MicroStrategy/IntelligenceServer is less than 200 percent of the total physical memory size (25224609792)
To modify the disk space requirement:
Linux
-
Locate the
MSIReg.regfile in your Strategy root install directory. For example,/opt/mstr/MicroStrategy/MSIReg.reg. -
Modify
MSIReg.regfile in a text editor and find the section:[HKEY_LOCAL_MACHINE\SOFTWARE\MicroStrategy\Data Sources\CasterServer]. -
If the key does not already exist, add the following entry under this section and set the value to a number between 30 and 200. For example, 00000028 in hexadecimal represents 40 in decimal.
Copy[HKEY_LOCAL_MACHINE\SOFTWARE\MicroStrategy\Data Sources\CastorServer]
"MMFDiskSpaceThresholdPercent"=dword:00000028 -
Save and close.
-
Restart the Intelligence server.
Windows
-
Open Registry Editor.
-
Navigate to the following key:
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MicroStrategy\Data Sources\CastorServer -
If the
MMFDiskSpaceThresholdPercentvalue does not exist, add a newDWORDvalue with this name. Set the value data to a number between 30 and 200. For example, 00000028 in hexademical represents 40 in decimal. -
Save and close.
-
Restart the Intelligence server.
Dynamic MMF Disk Space Requirement Check
Starting in Strategy One (October 2025), if MMF free disk space requirements are not satisfied upon Intelligence Server startup, the following message is logged in DSSErrors.log and the Intelligence server dynamically checks free disk space when a cube is loaded or published. MMF will only be used if the current free disk space exceeds the estimated cube size in addition to a 50 GB safety buffer.
MMF may be disabled as the available disk size (14573535232) on /var/opt/MicroStrategy/IntelligenceServer is less than 100 percent of the total physical memory size (16456167424)
