On Thu, Aug 5, 2010 at 9:14 AM, Will Drewry <w...@chromium.org> wrote:

> On Wed, Aug 4, 2010 at 8:11 PM, Luigi Semenzato <semenz...@chromium.org>
> wrote:
> > I suspect there is one issue you may want to consider even before you
> > get to the ones you mention.  We've had reports of "extreme slowness",
> > and I was able to reproduce such situation in the past.  The slowness
> > (and pegged disk activity) is consistent with thrashing due to code
> > paging.  Even though we don't use swap, the kernel will still reclaim
> > read-only executable pages since they have a backing store (the
> > executable file).  I suspect this may make the system unusable before
> > you get into an actual OOM situation.
>
> Out of curiousity, would this still be the case if Chrome was running
> with rlimits?  Will it still attempt to swap out read-only executable
> pages to keep memory use under that bar or will it just start
> returning malloc failures?
>

Good question.  I'll have to look into that some more.  I know that cgroups
will reclaim from the cgroup LRU list when it approaches the limit however,
so maybe that's the way to go.

One issue with setting resource limits is figuring out what to set them to.
 We'd have to be constantly tweaking the values whenever the system code
changes (larger/smaller system memory use can come from anywhere).

Seems like what you'd want to do is measure how much memory the browser and
system  (I'm including X and the window manager in the "system")  are using,
and set the limits for the renderer and plugin processes to give the browser
and systemsome headroom.  But it would have to be dynamic, since the browser
grows with more tabs, etc.

My gut feeling (although I definitely could be wrong here) is that we'd end
up with behavior similar to the OOM killer strategy in the long run --
renderers would die before the browser and system processes, it would just
be a different cause of death.


> When I did some very informal testing a few months back, running
> chrome with 90% of the system memory and opening many, many tabs
> resulted in sad faces, but no thrashing.  But that was unscientific
> and I never ended up exploring the rlimit v OOM code in the kernel
> (thus the question).
>

Yes, this is my experience with limited testing as well.

-Greg.

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

Reply via email to