Because when I ran ldd, neither tcmalloc nor jemalloc showed up. And I used gdb to set a breakpoint at one of malloc in rgw. It showed it is calling __GI_libc_malloc().I basically followed the instruction in README.md to build ceph for vstart purpose. I wonder what I missed.
On Oct 20, 2023, at 2:29 PM, Casey Bodley <cbodley@redhat.com> wrote:
the cmake variable ALLOCATOR can be used to request a specific library: https://github.com/ceph/ceph/blob/f080406/CMakeLists.txt#L376-L420
rgw and other ceph binaries refer to ALLOC_LIBS to add that link dependency
On Fri, Oct 20, 2023 at 2:20 PM Casey Bodley <cbodley@redhat.com> wrote:
On Fri, Oct 20, 2023 at 1:54 PM Yixin Jin <yjin77@yahoo.ca> wrote:
Hi folks,
How could I make rgw built with tcmalloc/jemalloc? I had tcmalloc installed. Although build.ninja has libtcmalloc.so listed for bin/radosgw, it is still using libc’s malloc. Then I had jemalloc installed and the result is the same. What is the proper step to make rgw built with tcmalloc/jemalloc?
how can you tell that it's still using libc?
$ ldd bin/radosgw | grep tcmalloc libtcmalloc.so.4 => /lib64/libtcmalloc.so.4 (0x00007f0bd3000000)
Thanks Yixin _______________________________________________ Dev mailing list -- dev@ceph.io To unsubscribe send an email to dev-leave@ceph.io
_______________________________________________ Dev mailing list -- dev@ceph.io To unsubscribe send an email to dev-leave@ceph.io