MicroStrategy ONE

Avoid Server Shutdown when the Memory Contract Manager Limit is Exceeded

Hitting the Memory Request Idle Time limit set by Memory Contract Manager can cause the Intelligence Server to shut down, leaving the MicroStrategy environment unavailable. To avoid these types of shutdowns, administrators can enable the Intelligence Server to unload uncertified cubes from memory to allow the Intelligence Server to try and recover before it crashes. For more information about certifying cubes, see the Workstation Help.

How to Enable or Disable Cube Unloading

The feature is by default off in MicroStrategy ONE. This feature can be enabled through a environment variable named DisableUnloadingCachingForMCM.

Available settings:

  • DisableUnloadingCachingForMCM is unset, the feature is off by default.
  • DisableUnloadingCachingForMCM= 0, the feature is on.
  • DisableUnloadingCachingForMCM= 1, the feature is off.

To change the value of this setting on:

  • Windows:

    1. Go to Environment Variables > System Variables.
    2. Add a variable named DisableUnloadingCachingForMCM with value of 0.
  • Linux:

    1. Export DisableUnloadingCachingForMCM=0 in the same terminal before starting Intelligence Server.

      If the variable is set correctly, you could see following log in the DSSErrors.log file:

      [Kernel][Info][UID:0][SID:0][OID:0] The environment variable "DisableUnloadingCachingForMCM" is set to 0. Enable unloading cube For MCM.

Feature Behavior

When the Intelligence Server exceeds half of the Memory Request Idle Time setting, the cube unloading will be triggered. Messages such as the following will appear in the DSSErros.log file:

  • [Kernel][Info][UID:0][SID:0][OID:0] Intelligence Server has entered Request Idle Mode for 301 seconds, the event of purging cache is triggered.

All un-certified cubes for each project will then be unloaded one by one to release memory. Messages such as the following will appear in the DSSErros.log file:

  • [Kernel][Info][UID:0][SID:0][OID:0] Start to unload cube for project "ART - GCSBB AML Reporting" to release memory for Intelligence Server, current memory for loaded cubes in this project's cube manager is 1177845.

  • [Kernel][Info][UID:0][SID:0][OID:0] Finish attempting to unload cubes for project "ART - GCSBB AML Reporting", current memory for loaded cubes in this project's cube manager is 0. Some cubes may be loaded again by other users during the processing. Please check cube monitor to find out which cube is not unloaded.

If enough memory is released before reaching the full Memory Request Idle Time limit, Intelligence Server will exit Memory Contract Manager. If not, Intelligence Server will still be shutdown by Memory Contract Manager as usual. Even if the Intelligence Server will avoid shutdown, the unloading process will be performed for all cubes once it is triggered.