On Sep 23, 2009, at 12:32 AM, Mads Sig Ager wrote:

> another thing you should be aware of is that DOM nodes are only
> collected on full garbage collections.  In order to see what is
> actually live at the end of a test, you have to force a number of GCs.

But the GC should happen automatically after the tab's been idle for a  
little while, shouldn't it? I've left the tab open for several minutes  
and seen only minor reductions in memory use.

The specific issue I'm tracking down seems to be triggered by opening  
child windows, i.e. a single renderer with multiple tabs. It looks as  
though closing any of the child tabs doesn't trigger a full GC; does  
this seem like a good thing to add?

Here's the reduced test case I'm using:

--~--~---------~--~----~------------~-------~--~----~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev
-~----------~----~----~----~------~----~------~--~---

Title: Open Windows In Same Process

This tests opening multiple child windows in the same renderer process. It's similar to the membuster test, at a much smaller scale, and without the automation. To run it, simply click the links below in sequence, waiting for the other tab to finish loading its page between clicks.

What I currently see is that memory usage goes up higher than it should, and doesn't come down after closing the second tab. In memory, multiple DOMWindow objects are hanging around, likely because of reference loops between WebCore and V8. In support of this theory, disabling JS entirely makes the problem go away.

--Jens Alfke, Sept. 2009



—Jens

Reply via email to