Replication Server Threads Memory Control

You can avoid the automatic shutdown of Replication Server when the consumption of memory by Replication Server threads exceeds the available memory defined by memory_limit.

In Replication Server, the threads that require significant amount of memory are:
  • DSI
  • EXEC
  • SQT
These threads execute memory control by performing a memory usage check before receiving or processing new data. During memory control, if the memory usage is found to be high, thread functioning is adjusted by:
  • Stopping the thread from grouping new data, and cleaning and processing existing data; or,
  • Making the thread go into a sleep mode such that it does not receive new data until memory is available.
To manage flow control in the EXEC, DST, and SQT threads, use:
  • mem_thr_dsi – specifies the percentage of the total memory used to force the DSI thread to stop populating the SQT cache.

    Default: 80% of memory_limit value.

  • mem_thr_exec – specifies the percentage of the total memory used to force the EXEC thread to stop receiving commands from RepAgent.

    Default: 90% of memory_limit value.

  • mem_thr_sqt – specifies the percentage of the total memory used to force the SQT thread to flush the largest transaction from its cache.

    Default: 85% of memory_limit value.

Use memory_control to manage the memory control behavior of threads. Valid values for memory_control are enable (the default value) or disable. In this way, Replication Server controls the memory consumption and does not shut down because of memory issues.

Use configure replication server to alter the default values for the configuration parameters. Use admin config to view the default or existing values.

See Replication Server Reference Manual > Replication Server Commands > configure replication server.