Memory Variables

You can use the following memory environment variables specified in the [matrix] section of enovia.ini. Make sure

  • the following memory settings are configured for your environment based on installed server memory
  • thread limits are emphasized over system limits so only long running operations are impacted
  • data is paged to disk to increase the server stability
Paging reduces in-process memory usage for large datasets. If you periodically see “insufficient memory” errors in your mxtrace log, readjust these settings to support larger in-process memory usage.

Variable Description
MX_CACHE_THREAD_LIMIT Applies to a single thread only. If the number of bytes of in-process memory used by a single session exceeds this setting, FlashDB will start paging the database rows for that single session to the disk. No other threads are affected. The default is 0, meaning unlimited, so no paging will occur. Using this setting means that greedy threads will page data to the disk, thereby slowing their processing, but also leaving more memory available for other threads to use. A reasonable setting is 50% of the value of MX_MEMORY_SYSTEM_LIMIT.
MX_MEMORY_SYSTEM_LIMIT Is meant to be the high water mark of allowable memory allocation for the native Live Collaboration kernel. The 3DSpace memory manager tracks the number of bytes allocated and will issue warnings for every allocation over the MX_MEMORY_SYSTEM_LIMIT. There are several areas in the Live Collaboration kernel that will also look for allocations over the MX_MEMORY_SYSTEM_LIMIT and abort the transaction. These checks are places in functional areas that are known to be memory intensive (database rowset loading, queries, expands and history lookups). The goal is to have the Live Collaboration kernel abort the transaction that is consuming large amounts of memory while allowing the other threads to continue working.
MX_MEMORY_THREAD_LIMIT Sets the maximum amount of memory that may be used for a single 3DSpace thread. The default is 1GB. Should allocation attempts be made beyond this size, warning messages will be written to the server log that identify the program file name and line number.