>>And if we still need to add explicit support, does anyone have any advice for how to achieve this? Here a small patch to build deb with jemalloc diff --git a/debian/control b/debian/control index 3f0f5c2..bb60dba 100644 --- a/debian/control +++ b/debian/control @@ -37,7 +37,6 @@ Build-Depends: autoconf, libexpat1-dev, libfcgi-dev, libfuse-dev, - libgoogle-perftools-dev [i386 amd64 arm64], libkeyutils-dev, libleveldb-dev, libnss3-dev, diff --git a/debian/rules b/debian/rules index de65004..f00263f 100755 --- a/debian/rules +++ b/debian/rules @@ -23,6 +23,7 @@ export DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) extraopts += --with-ocf --with-nss extraopts += --with-debug extraopts += --enable-cephfs-java +extraopts += --with-jemalloc # rocksdb is not packaged by anyone. build it if we can. extraopts += --with-librocksdb-static=check ----- Mail original ----- De: "Joshua M. Boniface" <joshua@xxxxxxxxxxx> À: "ceph-users" <ceph-users@xxxxxxxxxxxxxx> Envoyé: Mardi 24 Mai 2016 20:00:55 Objet: Re: using jemalloc in trusty Hello list: I've been building my own Ceph Debian Jessie packages (and QEMU too) to get jemalloc support, and in Infernalis I was explicitly setting a dependency in the control file which seemed to work. However, that option is gone in Jewel, replaced with this /etc/default/ceph preload. Without any code changes from default, and enabling the jemalloc line in that file, I'm seeing both libraries in use by every daemon, e.g.: > ms_pipe_r 8659 31756 ceph mem REG 253,0 640600 21056 /usr/lib/libtcmalloc.so.4.2.2 > ms_pipe_r 8659 31756 ceph mem REG 253,0 223936 6829 /usr/lib/x86_64-linux-gnu/libjemalloc.so.1 > ms_pipe_w 8659 31757 ceph mem REG 253,0 640600 21056 /usr/lib/libtcmalloc.so.4.2.2 > ms_pipe_w 8659 31757 ceph mem REG 253,0 223936 6829 /usr/lib/x86_64-linux-gnu/libjemalloc.so.1 Given the messages in this thread, it seems that the jemalloc library isn't actually being used? But if so, why would it be loaded (and why would tcmalloc *also* be loaded)? And if we still need to add explicit support, does anyone have any advice for how to achieve this? My build procedure is quite simply: $ git clone https://github.com/ceph/ceph.git && cd ceph $ sudo dpkg-buildpackage -us -uc -j8 Followed by adding the generated packages to my local repo and standard "apt-get install". And yes, the main Ceph packages have dependencies on "libtcmalloc-*" (just tested trying to remove them). -- Joshua M. Boniface Linux System Ærchitect Sigmentation fault. Core dumped. On 24/05/16 01:49 PM, Alexandre DERUMIER wrote: >>> Is it true for Xenial too or only for Trusty? I don't want to rebuild Jewel on >>> xenial hosts... > yes, for xenial (and debian wheezy/jessie too). > > I don't don't why they are LD_PRELOAD commented in /etc/default/ceph, > because it's really don't do nothing, if tcmalloc is present. > > you could try to remove tcmalloc packages (libgoogle-perftools4), > > but I think that ceph packages have dependencies on it .... > > > > ----- Mail original ----- > De: "Max A. Krasilnikov" <pseudo@xxxxxxxxxxxx> > Cc: "ceph-users" <ceph-users@xxxxxxxxxxxxxx> > Envoyé: Mardi 24 Mai 2016 19:33:48 > Objet: Re: using jemalloc in trusty > > Hello! > > On Mon, May 23, 2016 at 02:34:37PM +0000, Somnath.Roy wrote: > >> You need to build ceph code base to use jemalloc for OSDs..LD_PRELOAD won't work.. > Is it true for Xenial too or only for Trusty? I don't want to rebuild Jewel on > xenial hosts... > _______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com _______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com