New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 741231 link

Starred by 3 users

Issue metadata

Status: Archived
Owner:
Closed: Jul 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

Enable use of more renderers to make tab discarder more effective

Project Member Reported by sonnyrao@chromium.org, Jul 12 2017

Issue description

Currently the logic for computing the maximum number of renderer processes on Chrome is shared amongst all operating systems (except Android) and for a 64-bit system with 4 GB of memory that calculation maxes out at around 34 renderers. 

Extensions typically get their own renderer up to 1/3 of all possible renderers, so this leaves something like 23 renderers available for general tabs or applications.  

We're seeing in feedback reports that users are seeing OOM kills or jank despite the fact that the tab discarder was invoked prior to these situations and usually the issue is that the discarder tried to kill a tab that was in a shared renderer and over estimated the amount of memory freed. Unfortunately there's not a good way to improve this estimate right now.

Increasing the number of allowed renderers will allow the discarder to be more effective in these cases where the users have a lot of tabs, and will lead to some increase in overall memory consumption and tab discarding but should improve user experience otherwise due to less jank.

I've run experiments using the telemetry tab switching test on a Caroline with repeated page sets to add a lot of memory pressure.  The test opens a set of 25 tabs N times and then cycles through them.  It's a very stressful test because it has worst case behavior, but the discarder also should be able to handle it well because everything is done in perfect LRU order.

With the current default  number of renderers I'm able to cause a kernel OOM kill reliably with 6 repeated page sets, but when I increase the number of allowed renderers I'm not able to cause a kernel OOM at all even with 10 repeated page sets.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jul 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/adc5b9e23f4af32268bf217b8fa367b458be6b27

commit adc5b9e23f4af32268bf217b8fa367b458be6b27
Author: Sonny Rao <sonnyrao@chromium.org>
Date: Fri Jul 14 05:03:34 2017

libchromeos-use-flags: add USE flag for board caroline

Need this so that we can add caroline-specific flags in
session_manager.

BUG= chromium:741231 
TEST=build for caroline and verify session_manager used board-specific flags
Change-Id: I8af6cde87449ebb0d546f13c061d197069eadc6d
Reviewed-on: https://chromium-review.googlesource.com/569440
Commit-Ready: Sonny Rao <sonnyrao@chromium.org>
Tested-by: Sonny Rao <sonnyrao@chromium.org>
Reviewed-by: Sonny Rao <sonnyrao@chromium.org>

[rename] https://crrev.com/adc5b9e23f4af32268bf217b8fa367b458be6b27/chromeos-base/libchromeos-use-flags/libchromeos-use-flags-0.0.1-r31.ebuild
[modify] https://crrev.com/adc5b9e23f4af32268bf217b8fa367b458be6b27/chromeos-base/libchromeos-use-flags/libchromeos-use-flags-0.0.1.ebuild

https://chromium-review.googlesource.com/c/567860/ landed too, but no bugsplat for some reason.

...we should probably duplicate this bug so we can close this one (for Caroline) and open one for M-62 (?) for applying this to more boards...  What do others think?
Status: Fixed (was: Started)
re #2 sure, marking this one fixed.  Do we want this change on M-60? igo@ ?

Comment 4 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Sign in to add a comment