Increase the amount of memory for analytics updates

Background

The building of analytics reports in Funnelback can be a memory intensive operation, especially if the analytics database is being rebuilt from scratch or built for a large period of data.

If the analytics build runs out of memory, an error will be reported in the collection’s update_reports.log.

This article shows how to increase the memory allocated to the analytics build to avoid out of memory errors.

Process

Funnelback v15.10 and newer

  1. Set the analytics.max_heap_size value in the collection.cfg of the affected collection:

    Note: the default value is 350MB, and the maximum value should not exceed the amount of available memory on the server (after taking into account the memory used by the OS and other Funnelback services).

    e.g. Increase the memory allocation to 1GB.

    analytics.max_heap_size=1024
  2. Update the reports for the collection.

An additional setting, analytics.reports.max_facts_per_dimension_combination, can be adjusted to reduce the amount of data processed and stored for analytics. This setting can reduce the amount of memory required by the analytics build, but affects the level of detail in the reports.

Funnelback v15.8 and older

In Funnelback v15.8 and earlier a shared setting was used. This shared setting affects both analytics and gather allocations.

  1. Set the max_heap_size value in the collection.cfg of the affected collection:

    Note: the default value is 650MB.

    e.g. Increase the memory allocation to 1GB.

    max_heap_size=1024
  2. Update the reports for the collection.

An additional setting, analytics.reports.max_facts_per_dimension_combination, can be adjusted to reduce the amount of data processed and stored for analytics. This setting can reduce the amount of memory required by the analytics build, but affects the level of detail in the reports.