MicroStrategy ONE

Limiting the Amount of Memory Available for Object Caches

You can control the amount of memory that object caches can use on both Intelligence Server (set at the project level) and the Developer machines. This memory is referred to as the cache pool. If a new object request size is small enough to fit into the object cache pool, but there is not enough available cache pool space to store all of the new objects, existing objects must be removed from memory before the new ones can be cached. When this happens, the least recently used 25% of object caches are removed from the cache.

This setting depends on the following factors:

  • Size of the project in terms of application objects
  • The amount of RAM on the Intelligence Server machine

In MicroStrategy, object cache can exist at either the:

  • Environment-level

    The Environment-level object cache is used for environment-level objects like users, user groups, database instances, security roles, etc.

    For the Environment-level setting, the value for Server:Maximum RAM Usage should vary between Minimum (50 MB) and Maximum (64 GB), and the default value is 512 MB. To determine the appropriate cache size value, you can consider the commonly used configuration object count, such as users and groups, security roles, database instances, etc. Each object consumes approximately 5-20 KB. You should adjust the Server: Maximum RAM Usage setting accordingly based on the available server memory. This helps ensure optimal performance and efficient memory utilization. This setting is only available in Workstation, it is not exposed in Developer.

  • Project-level

    The Project-level object cache is used for project-level objects like schema objects, reports, cubes, dashboards, etc.

    For the Project-level setting, the value for Server:Maximum RAM Usage should vary between Minimum (100 MB) and Maximum (64 GB), and the default value is 1024 MB.

For a project that has a large schema object, the project loading speed suffers if the maximum memory for object cache setting is not large enough. This issue is recorded in the DSSErrors.log file. See KB13390 for more information.

Set the Server Environment-Level Maximum RAM Usage for the Object Cache in Workstation

  1. In Workstation, connect to an environment.

  2. Once the connection is established, right-click on the environment and choose Properties.

  3. In the left pane, click All Settings and search for cache.

  4. Update the Maximum memory consumption for object cache (MB).

To Set the Server Project-Level Maximum RAM Usage for the Object Cache in Workstation

  1. In Workstation, connect to an environment.

  2. In the left navigation pane, click Projects.

  3. Right-click the project you want to apply the settings to and choose Properties.

  4. In the left pane, click All Settings and search for cache.

  5. Update the Maximum memory usage for Server Object Cache (MB).

Set the Server Project-Level Maximum RAM Available for a Project's Object Caches

  1. In Developer, log into a project. You must log in with a user account that has administrative privileges.
  2. From the Administration menu, point to Projects, and then select Project Configuration.
  3. Expand Caching, expand Auxiliary Caches, and select Objects.
  4. Specify the RAM (in megabytes) in the Server section in the Maximum RAM usage (MBytes) box.
  5. Specify the RAM (in megabytes) in the Client section in the Maximum RAM usage (MBytes) box.

The new settings take effect only after Intelligence Server is restarted.

On the Developer client machine, you maintain object caching by using the Client: Maximum RAM usage (MBytes) setting in the Caching: Auxiliary Caches (Objects) subcategory in the Project Configuration Editor. This is a Developer client-specific setting.

To Set the Client Maximum RAM Available for Object Caches for a Developer Machine

  1. In the Project Source Manager, click the Caching tab and in the Object Cache group of controls, select the Use custom value option.

    If you select the Use project default option, the amount of RAM is the same as specified in the Client section in the Project Configuration Editor described above.

  2. Specify the RAM (in megabytes) in the Maximum RAM usage (MBytes) box.