Building the tcmalloc library
The tcmalloc library can release free memory to the host OS. That support must be compiled-in: at this time there are no pre-built packages that include it.
- Download or clone the google perftools tcmalloc code from github:
Apply this patch:
diff --git a/configure.ac b/configure.ac
index ad00def..c06e602 100644
--- a/configure.ac
+++ b/configure.ac
@@ -320,6 +320,7 @@ case "$host" in
*-mingw*) default_emergency_malloc=no;;
*) default_emergency_malloc=yes
AC_DEFINE(HAVE_MMAP, 1, [Define to 1 if you have a working `mmap' system call.])
+ AC_DEFINE(FREE_MMAP_PROT_NONE, 1, [Use mmap.])
esac
# We want to access the "PC" (Program Counter) register from a struct
generate the configure script following the project’s instructions, and run configure like this:
./configure --libdir=/usr/lib
Then configure and build FRR. Use the –enable-gperf-tcmalloc configure option.