Strongly in favor of this idea and willing to try it once it's available.

On Fri, Aug 18, 2017 at 8:37 AM, James Peach <jor...@gmail.com> wrote:

>
> > On Aug 18, 2017, at 3:49 AM, Benno Evers <bev...@mesosphere.com> wrote:
> >
> > Hi all,
> >
> > I would like to propose bundling jemalloc as a new dependency
> > under `3rdparty/`, and to link Mesos against this new memory
> > allocator by default.
>
> I support doing this for all the Mesos executable programs. We have been
> running under jemalloc for a couple of years with zero problems and
> improved performance (we run a pretty old glibc).
>
> Note that we must not lib libmesos.so to jemalloc since that is used by
> programs that may not be able to tolerate linking in a separate malloc.
>
> > # Motivation
> >
> > The Mesos master and agent binaries are, ideally, very long-running
> > processes. This makes them susceptible to memory issues, because
> > even small leaks have a chance to build up over time to the point
> > where they become problematic.
> >
> > We have seen several such issues on our internal Mesos installations,
> > for example https://issues.apache.org/jira/browse/MESOS-7748
> > or https://issues.apache.org/jira/browse/MESOS-7800.
> >
> > I imagine any organization running Mesos for an extended period
> > of time has had its share of similar issues, so I expect this
> > proposal to be useful for the whole community.
> >
> >
> > # Why jemalloc?
> >
> > Given that memory issues tend to be most visible after a given
> > process has been running for a long time, it would be great to
> > have the option to enable heap tracking and profiling at runtime,
> > without having to restart the process. (This ability could then
> > be connected to a Mesos endpoint, similar to how we can adjust
> > the log level at runtime)
> >
> > The two production-quality memory allocators that have this
> > ability currently seem to be tcmalloc and jemalloc. Of these,
> > jemalloc does produce in our experience better and more
> > detailed statistics.
> >
> >
> > # What is the impact on users who do not need this feature?
> >
> > Naturally, not every single user of Mesos will have a need
> > for this feature. To ensure these users would not experience serious
> > performance regressions as a result of this change, we conducted
> > a preliminary set of benchmarks whose results are collected
> > under https://issues.apache.org/jira/browse/MESOS-7876
> >
> > It turns out that we could probably even expect a small speedup (1% - 5%)
> > as a nice side-effect of this change.
> >
> > Users who compile Mesos themselves would of course have the option
> > to disable jemalloc at configuration time or replace it with their
> > memory allocator of choice.
> >
> >
> >
> > I'm looking forward to hear any thoughts and comments.
> >
> >
> > Thanks,
> > --
> > Benno Evers
> > Software Engineer, Mesosphere
>
>


-- 
Cheers,

Zhitao Li

Reply via email to