Spectre Memory Usage

The Spectre server uses more memory than the classic Diver Solution engine. In general, you need enough memory to:

  • Map the full input, that is the size of the cBase
  • Hold minor administration details per cBase
  • Keep a working set in memory: 4 bytes per row index times the number of rows in the cBase
  • Keep additional working sets to a rough maximum of your number of cores
  • Store any calculated columns
  • Store new string tables for calculations that produce strings
  • Support temporary usage as Spectre performs requested actions

If not enough memory is available on the server that is hosting Spectre, performance will suffer as the server starts swapping pages in and out of memory. For best performance, DI recommends that cBases be located on local SSDs (solid-state storage devices that use integrated circuit assemblies as memory to store data persistently).

NOTE: A single Spectre process will use no more than the amount of physical memory available on the server. This prevents some scenarios of swapping on inadequate hardware.

See also: