glibc has a performance enhancement that result in glibc holding on to memory that application is not using and/or does not need.
Over time this additional memory may result in the kernel killing the application.https://stackoverflow.com/questions/48651432/glibc-application-holding-onto-unused-memory-until-just-before-exithttps://sourceware.org/bugzilla/show_bug.cgi?id=11261
This is not considered a glibc bug, since there are tunables that allow the user to control this behavior.
@Alok_Tiwari request you to open a support ticket for better analysis
Regarding your above question
in ~/.bashrc on ALL nodes add the following line
$ export MALLOC_ARENA_MAX=4
log out and log back in then restart vertica database
OR if you are unable to edit ~/.bashrc, always start the database using admintools with the VERTICA_ADMINTOOLS_PASSTHROUGH variable set as follows
$ export VERTICA_ADMINTOOLS_PASSTHROUGH=MALLOC_ARENA_MAX=4 admintools -t start_db -d mydb
you can check the environment variables are set correctly using the following commands
To check if the environment variable is set correctly
$ set | grep ARENA
To ensure that the environment has been applied to the process correctly (check all nodes)
$ xargs --null --max-args=1 echo < /proc/$(pgrep vertica$)/environ | grep ARENA
Can't find what you're looking for? Search the Vertica Documentation, Knowledge Base, or Blog for more information.