Configuring RLV Store Memory Size

You can configure, on a per-server basis, the maximum memory size of the RLV store.

Prerequisites
Task

The size of the RLV store should be carefully chosen to avoid exceeding the physical memory on the host.  Therefore, consider:

Choosing a value which is too small will result in extra merges. This may potentially cause DMLs to fail if the frequency of the automated merge is too high.

  1. Use the -iqrlvmem boot parameter, to specify the maximum size of the RLV store in Mb.
    -iqrlvmem 8192

    This specifies an RLV size of 8192 Mb.

    Note: A DML which causes the size of the RLV store to exceed the configured memory limit will immediately trigger an automatic merge. However, the RV_MERGE_NODE_MEMSIZE node threshold will usually trigger the automated merge before this limit is reached.
  2. (Optional) At runtime, change the size of the RLV store using the sa_server_option.
    sa_server_option 'RLV_memory_mb', 16384

    This reconfigures the RLV store size to 16384 Mb.

    Note: This size is a “soft” limit. It is possible for the RLV store to temporarily exceed the configured memory.  RLV store memory is normally freed by merge.  However merge itself requires memory.  Therefore during merge the memory limit may be temporarily exceeded. Furthermore, open transactions remain in the RLV store (and thus use memory), even after the merge.
Related tasks
Setting Merge Trigger Thresholds
Monitoring RLV Memory Usage
Related reference
RV_MERGE_NODE_MEMSIZE Option
-iqrlvmem start_iq Server Option
sa_server_option System Procedure