MemShrink

Memory consumption is really important in a web browser.  Firefox has some room for improvement on that front, and so Jeff Muizelaar and I are working to start up an effort, called “MemShrink”, to reduce memory consumption in Firefox 5 (and beyond).

We’ve started a wiki page outlining some ideas on ways to improve our tracking of memory consumption.  Please read it and comment.

I’ve also opened bug 640452, which is a tracking bug for memory leaks in Firefox 5, and bug 640457, which is a tracking bug for other memory improvements in Firefox 5.  Please CC yourself if you’re interested.

Update: I just added bug 640791, which is a tracking bug for improvements to memory profiling.

10 Responses to MemShrink

  1. Perhaps some things that Firefox loads into memory could be stored there compressed.

  2. Thanks for the blug! ;)

  3. Yay! Best of luck, this is really important for many users.

  4. Would a lot of these issues go away if each tab was in its own process?

    • Nicholas Nethercote

      Manoj: no. Memory usage would probably go up a bit, because there’s a bit of overhead to each process… though some of it would be shared. It’s not easy to measure such things.

      The main advantage of process separation is for robustness — if one process crashes the others stay alive.

    • Nicholas Nethercote

      Manoj: thinking about it some more, process separation will help mitigate the impact of any memory leaks — a browser session that consists of lots of short process invocations will be hurt less by any leaks than a session that consists of a single long process invocation.

  5. [bug 640927]major memory leak – the longer firefox is left open, the more memory it uses

    found in fx RC1, win7.
    could it be fixed before fx4 released?

  6. sorry, it should be [bug 640923].

  7. Nicholas Nethercote

    aeneid: it’s too late to fix for the release, assuming it’s a real leak. I’ve marked it as blocking the tracking bug 640452 so hopefully it will get some attention soon.

  8. This is really great to read. I am super happy that memory management is not something that is considered ‘fixed’ as it seemed to be once the jemalloc work was done. That work might have helped Firefox free up memory better but it didn’t do much about how slow Firefox gets when consuming lots of memory and why it consumes so much memory in the first place.