Alterando o alocador de memória para o Jemalloc Centos 6

3

Depois de ler esta postagem no blog sobre o impacto de alocadores de memória como jemalloc em aplicativos altamente segmentados , eu queria testar coisas em uma escala maior em alguns de nossos servidores. Nós rodamos o sphinx e o apache usando threads e em 24 máquinas centrais.

Instalar o jemalloc foi bastante simples. Estamos executando o Centos 6, então yum install jemalloc jemalloc-devel fez o truque. Minha pergunta é: como podemos mudar tudo no sistema para usar o jemalloc em vez do malloc padrão embutido no Centos. A pesquisa me apontou isso como uma opção em potencial:

LD_PRELOAD=$LD_PRELOAD:/usr/lib64/libjemalloc.so.1

Isso seria suficiente para obter tudo usando o jemalloc?

    
por Brian Lovett 09.03.2013 / 02:18

2 respostas

3

É uma resposta trivial (na verdade, ainda não entendi como sua pesquisa poderia ter deixado passar):

/etc/ld.so.preload

Está documentado em ld.so (8) - man 8 ld.so : «…

/etc/ld.so.preload — File containing a whitespace separated list of ELF shared libraries to be loaded before the program.

… »

    
por 10.03.2013 / 01:19
1

Eu encontrei o mesmo solution durante minha pesquisa. Mais detalhado com as instruções passo a passo . Ali também se afirma que muitas empresas mudam para jemalloc (ex. Facebook) ou tcmalloc (ex. Github). Então você pode também tentar usar o tcmalloc ( a instalação é bem parecida ) ou seguir as instruções e usar o jemalloc.

    
por 09.03.2013 / 21:49