Memory management parameters
The following table describes parameters for managing Vertica memory usage.
Caution
Modify these parameters only under guidance from Vertica Support.- MemoryPollerIntervalSec
- Specifies in seconds how often the Vertica memory poller checks whether Vertica memory usage is below the thresholds of several configuration parameters (see below):
-
MemoryPollerMallocBloatThreshold
-
MemoryPollerReportThreshold
-
MemoryPollerTrimThreshold
Important
To disable polling of all thresholds, set this parameter to 0. Doing so effectively disables automatic memory usage reporting and trimming.Default: 2
-
- MemoryPollerMallocBloatThreshold
- Threshold of glibc memory bloat.
The memory poller calls glibc function
malloc_info()
to obtain the amount of free memory in malloc. It then comparesMemoryPollerMallocBloatThreshold
—by default, set to 0.3—with the following expression:free-memory-in-malloc / RSS
If this expression evaluates to a value higher than
MemoryPollerMallocBloatThreshold
, the memory poller calls glibc functionmalloc_trim()
. This function reclaims free memory from malloc and returns it to the operating system. Details on calls tomalloc_trim()
are written to system tableMEMORY_EVENTS
.To disable polling of this threshold, set the parameter to 0.
Default: 0.3
- MemoryPollerReportThreshold
- Threshold of memory usage that determines whether the Vertica memory poller writes a report.
The memory poller compares
MemoryPollerReportThreshold
with the following expression:RSS / available-memory
When this expression evaluates to a value higher than
MemoryPollerReportThreshold
—by default, set to 0.93, then the memory poller writes a report toMemoryReport.log
, in the Vertica working directory. This report includes information about Vertica memory pools, how much memory is consumed by individual queries and session, and so on. The memory poller also logs the report as an event in system tableMEMORY_EVENTS
, where it setsEVENT_TYPE
toMEMORY_REPORT
.To disable polling of this threshold, set the parameter to 0.
Default: 0.93
- MemoryPollerTrimThreshold
- Threshold for the memory poller to start checking whether to trim glibc-allocated memory.
The memory poller compares
MemoryPollerTrimThreshold
—by default, set to 0.83— with the following expression:RSS / available-memory
If this expression evaluates to a value higher than
MemoryPollerTrimThreshold
, then the memory poller starts checking the next threshold—set inMemoryPollerMallocBloatThreshold
—for glibc memory bloat.To disable polling of this threshold, set the parameter to 0. Doing so also disables polling of
MemoryPollerMallocBloatThreshold
.Default: 0.83