kubernetes/cluster/addons/fluentd-elasticsearch
Eduardo Silva 5e321af2ed cluser/addons: fluentd-elasticsearch: preload Jemalloc for td-agent
The current DockerFile build an image using td-agent package but it let
the service run with the default memory allocator provided by glibc.

In high load environments, is highly required to use a customized memory
allocator such as Jemalloc. Otherwise the service will face a high memory
fragmentation ending up in 'high memory' usage from a monitoring perspective.

td-agent package by default install Jemalloc and set the LD_PRELOAD
environment variable through it init script, but since the service is
launched through Docker the env variable needs to be set manually.

After this patch, when running td-agent container image now is possible
to see that Jemalloc is used:

  root@monotop:/proc/18810# cat maps |grep jemall
  7f251eddd000-7f251ee1b000 ... /opt/td-agent/embedded/lib/libjemalloc.so.2
  7f251ee1b000-7f251f01b000 ... /opt/td-agent/embedded/lib/libjemalloc.so.2
  7f251f01b000-7f251f01d000 ... /opt/td-agent/embedded/lib/libjemalloc.so.2
  7f251f01d000-7f251f01e000 ... /opt/td-agent/embedded/lib/libjemalloc.so.2

For a reference about the memory usage difference between malloc v/s jemalloc
please refer to the following chart:

  https://goo.gl/dVYTmw

Signed-off-by: Eduardo Silva <eduardo@treasure-data.com>
2016-10-20 10:50:58 -06:00
..
es-image Merge pull request #34562 from Crassirostris/es-kibana-update 2016-10-17 03:04:33 -07:00
fluentd-es-image cluser/addons: fluentd-elasticsearch: preload Jemalloc for td-agent 2016-10-20 10:50:58 -06:00
kibana-image Fixed kibana image 2016-10-17 17:45:59 +02:00
es-controller.yaml Fixed elasticsearch cluster logging e2e test on GCI 2016-09-21 13:55:43 +02:00
es-service.yaml Move things into a 'kube-system' namespace. 2015-07-06 15:08:23 -07:00
kibana-controller.yaml Add resource requests to addons 2015-12-17 10:13:15 +01:00
kibana-service.yaml Move things into a 'kube-system' namespace. 2015-07-06 15:08:23 -07:00