I gave a talk yesterday at the linux.conf.au Browser MiniConf, held in Ballarat, Australia. Its title was “Notes On Reducing Firefox’s Memory Consumption”.
Below are the slides and notes in a SlideShare embedding. If you find that embedding problematic (some people do) you may prefer to download the PDF version directly.
Posted in about:memory, AdBlock Plus, add-ons, compartments, DMD, Firefox, Garbage Collection, JägerMonkey, Massif, Memory allocation, Memory consumption, MemShrink, Performance, SQLite, Talks, Valgrind
about:memory is a really useful tool, but everyone always complains about the “heap-unclassified” number being too high. It’s too high because we don’t have enough memory reporters implemented.
DMD is a tool that identifies where new memory reporters should be added to reduce “heap-unclassified”. I’ve been using it for a couple of months now, and I’ve just written instructions on how to use it. It’s not easy, but hopefully it’s doable.
It’s probably worth pointing out that we have a pretty good handle on what needs to be done to reduce “heap-unclassified” significantly — check out the list of memory reporters to be implemented. Almost all of those bugs were filed based on data from DMD. The single most important bug in that list is the one to add missing style reporters; I see multiple megabytes of CSS stuff all the time in DMD’s output.