[pve-devel] [PATCH] use jemalloc as memory allocator

Wolfgang Bumiller w.bumiller at proxmox.com
Fri Jun 19 08:58:25 CEST 2015


> LIBS="-ljemalloc $LIBS"
> 
> should be enough?

If it works with LD_PRELOAD, then yes this _should_ be enough. I'm just
not sure if ld's --as-needed if used, and whether this might make it
drop the library though.

I'm a little confused though as to whether it's tcmalloc or jemalloc
now. The libgoogle-perftools package seems to contain tcmalloc.so,
while there's another package named libjemalloc1 around?

On Fri, Jun 19, 2015 at 08:29:54AM +0200, Alexandre DERUMIER wrote:
> >>can we directly link the library instead of using LD_PRELOAD? 
> 
> I think yes, but I really don't known how to patch qemu.
> 
> maybe something like tcmalloc qemu patch
> 
> +  if compile_prog "" "-ltcmalloc" ; then
> +    LIBS="-ltcmalloc $LIBS"
> +  else
> +    feature_not_found "tcmalloc" "install gperftools devel"
> +  fi
> 
> 
> jemmaloc doc :
> https://github.com/jemalloc/jemalloc/wiki/Getting-Started
> 
> cc app.c -o app -L${JEMALLOC_PATH}/lib -Wl,-rpath,${JEMALLOC_PATH}/lib -ljemalloc
> 
> 
> 
> maybe
> LIBS="-ljemalloc $LIBS"
> 
> should be enough?
> 
>  
> 
> ----- Mail original -----
> De: "dietmar" <dietmar at proxmox.com>
> À: "aderumier" <aderumier at odiso.com>, "pve-devel" <pve-devel at pve.proxmox.com>
> Envoyé: Jeudi 18 Juin 2015 14:14:47
> Objet: Re: [pve-devel] [PATCH] use jemalloc as memory allocator
> 
> can we directly link the library instead of using LD_PRELOAD? 
> 
> On 06/17/2015 09:31 AM, Alexandre Derumier wrote: 
> > Signed-off-by: Alexandre Derumier <aderumier at odiso.com> 
> > --- 
> > PVE/QemuServer.pm | 1 + 
> > 1 file changed, 1 insertion(+) 
> > 
> > diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm 
> > index ab9ac74..455c473 100644 
> > --- a/PVE/QemuServer.pm 
> > +++ b/PVE/QemuServer.pm 
> > @@ -4153,6 +4153,7 @@ sub vm_start { 
> > 
> > # set environment variable useful inside network script 
> > $ENV{PVE_MIGRATED_FROM} = $migratedfrom if $migratedfrom; 
> > + $ENV{LD_PRELOAD} = "/usr/lib/x86_64-linux-gnu/libjemalloc.so.1"; 
> > 
> > my ($cmd, $vollist, $spice_port) = config_to_command($storecfg, $vmid, $conf, $defaults, $forcemachine); 
> > 
> _______________________________________________
> pve-devel mailing list
> pve-devel at pve.proxmox.com
> http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel




More information about the pve-devel mailing list