Comment 11 for bug 1576639

Revision history for this message
Olivier Tilloy (osomon) wrote :

400MB works much better as a threshold on my M10 indeed. However I’m seeing something fishy: whenever the browser unloads a background tab to free up some memory, a small amount of memory is indeed reclaimed (usually less than 100MB), but the browser process continues to use up a lot of memory. When browsing pictures on 500px.com, eventually all other tabs get unloaded, and the only renderer process left active is consuming around 10% memory, but the browser process is consuming up to 30% memory. After a while left idle, it goes down to < 10%, which indicates that a lot of memory has been reclaimed at once (late garbage collection maybe?), which alleviates significantly the memory pressure.

My wild guess is that the memory used by the unloaded tabs is not garbage-collected by the QML engine right away when the tabs are unloaded. This seems to be confirmed by adding an explicit call to gc() in the unload() function of BrowserTab: unloading a tab now seems to reclaim a much larger chunk of memory, and the memory used by the browser process remains under control.