FireFox memory usage

Pete Wright pete at nomadlogic.org
Sat Nov 4 15:56:04 UTC 2017



On 11/04/2017 04:49, Tijl Coosemans wrote:
> On Wed, 01 Nov 2017 21:10:13 +0100 Jan Beich <jbeich at FreeBSD.org> wrote:
>> Jan Beich <jbeich at FreeBSD.org> writes:
>>> Andrea Venturoli <ml at netfence.it> writes:
>>>> I'm on 10.3/amd64 with firefox-esr 52.3.0.
>>>>
>>>> Since a few days my 4GiB desktop is crawling due to swap usage and
>>>> looking at top, I see FireFox using almost 7GiB of RAM (SIZE column),
>>>> 2.5 of which are "RES".
>>> Check about:memory and Devolper Tools -> Memory for clues. For more
>>> advanced debugging (DMD, Refcount tracing) you'd need a custom build.
>>>
>>> Firefox on FreeBSD is known to consume more memory than on other
>>> platforms because it uses system jemalloc rather than mozjemalloc.
>>> Mozilla doesn't test memory usage without mozjemalloc. However, porting
>>> mozjemalloc has stalled[1] unless someone helps.
>>>
>>> [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1153683
>> If one is on Firefox 55+ or FreeBSD 12+ while suboptimal compared to
>> mozjemalloc the old jemalloc4 optimizations can be restored by
>>
>>    $ MALLOC_CONF="narenas:1,tcache:false" firefox ...
>>
>> https://dxr.mozilla.org/mozilla-esr52/source/memory/build/jemalloc_config.cpp#35
> This appears to be such a huge improvement that you should really put
> this in the port even if it's still not as good as mozjemalloc.
i can confirm a huge perf improvement by reverting to jemalloc4. would 
this patch ensure we use this by default until mozjemalloc for FreeBSD 
is sorted out?

diff --git a/www/firefox/Makefile b/www/firefox/Makefile
index 7da37422ad82..b9a349e5d217 100644
--- a/www/firefox/Makefile
+++ b/www/firefox/Makefile
@@ -46,7 +46,8 @@ FIREFOX_ICON_SRC= 
${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default4
  MOZ_EXPORT=    BINDGEN_CFLAGS="-isystem${LOCALBASE}/include/nspr \
                         -isystem${LOCALBASE}/include/pixman-1" # XXX 
bug 1341234
  MOZ_OPTIONS=   --enable-application=browser \
-               --enable-official-branding
+               --enable-official-branding \
+        --enable-jemalloc=4

  OPTIONS_DEFAULT=       BUNDLED_CAIRO
  OPTIONS_EXCLUDE=       GNOMEUI



i'm not super familiar with how we build firefox but if this looks good 
i can file a PR.

-pete

-- 
Pete Wright
pete at nomadlogic.org
@nomadlogicLA



More information about the freebsd-ports mailing list