Re: Make rgw use tcmalloc/jemalloc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Maybe our build somehow confused gnu linker and made it ignore tcmalloc and used libc. Anyway,
the libc (libc.so.6) seems to be problematic. We can easily cause rgw to OOM by blasting
a flood of uploads, which doesn't happen when tcmalloc is linked. And this is with v17.2.5.
So, performance aside, tcmalloc seems to be on the safer side.

On Monday, October 23, 2023 at 02:58:06 p.m. EDT, Casey Bodley <cbodley@xxxxxxxxxx> wrote:


pretty sure we use the default gcc linker

it's been a while since we've done performance comparisons between
libc- and tcmalloc. it would be nice to revisit those and see whether
tcmalloc is still necessary. if it is, we need some kind of regression
test coverage to make sure our builds are using it

On Mon, Oct 23, 2023 at 1:46 PM Yixin Jin <yjin77@xxxxxxxx> wrote:
>
> Hi Casey,
>
> For standard ceph packages, are they built with gold or lld linker, instead of the GNU linker? I found that if gold is used, it doesn't suffer this problem of ignoring tcmalloc.
>
> Thanks,
> Yixin
>
> On Friday, October 20, 2023 at 02:30:15 p.m. EDT, Casey Bodley <cbodley@xxxxxxxxxx> 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@xxxxxxxxxx> wrote:
> >
> > On Fri, Oct 20, 2023 at 1:54 PM Yixin Jin <yjin77@xxxxxxxx> 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@xxxxxxx
> > > To unsubscribe send an email to dev-leave@xxxxxxx

> _______________________________________________
> Dev mailing list -- dev@xxxxxxx
> To unsubscribe send an email to dev-leave@xxxxxxx
_______________________________________________
Dev mailing list -- dev@xxxxxxx
To unsubscribe send an email to dev-leave@xxxxxxx
_______________________________________________
Dev mailing list -- dev@xxxxxxx
To unsubscribe send an email to dev-leave@xxxxxxx

[Index of Archives]     [CEPH Users]     [Ceph Devel]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux