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

Issue 835907 link

Starred by 3 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug
Hotlist-MemoryInfra



Sign in to add a comment

memory_instrumentation causing high CPU usage and power drain while on battery

Project Member Reported by gab@chromium.org, Apr 23 2018

Issue description

Chrome Version: 68.0.3400.0 (Official Build) canary (64-bit)
OS: Win10
What steps will reproduce the problem?
(1) Chrome offline and unplugged (on battery + airplane mode)
(2) All windows minimized

What is the expected result?
Chrome uses 0% CPU

What happens instead?
Chrome uses 33% CPU non-stop forever.

Trace shows that memory_instrumentation kicks in **every** second and churns CPU for about 330ms (matches 33% CPU usage)

Trace: https://drive.google.com/file/d/1-ni--9nwlNbM5gmgqqPcCtVI-Ba7CaF1/view?usp=sharing
(everything is idle except for memory_instrumentation doing some ping-pong and churning across multiple processes -- CPU spike for 330ms every 1s)

ETW trace : https://drive.google.com/file/d/1gScFPjSH31o9PscpZYHQNTZ8TpknDdfN/view?usp=sharing
(There was also a rogue renderer here but main contributor on thread 3904 (IO) of process 8500 (browser) is chrome.dll!memory_instrumentation::mojom::ClientProcess_RequestChromeMemoryDump_ForwardToCallback::Accept)
 

Comment 1 by lalitm@chromium.org, Apr 23 2018

Cc: primiano@chromium.org lalitm@chromium.org
Owner: erikc...@chromium.org
Assigning to erikchen who most recently worked with this code.
Labels: -Pri-2 -M-68 Pri-3
The task manager is open [gab please verify] and is requesting a memory update every second. Here are the major tasks taking CPU time every second:

View::Paint: 120ms
memory_instrumentation::mojom::ClientProcess: 65 ms
GPU process -- ContinueAsyncProcessDump: 50ms.

Main point of improvement of memory instrumentation: We need a new mode for the task manager that only requests OS metrics since we don't need MDPs.

Dropping priority since even if we eliminated all memory_instrumentation overhead, half of the overhead would still exist from views::Paint.

Comment 3 by gab@chromium.org, May 1 2018

Ah, hmmmm, I don't *think* I had process manager opened, but it's not impossible I opened it before taking the trace...

(Note that while Views is present in this trace, the majority of other things I looked at but didn't record didn't involve Views painting relentlessly (i.e. after I killed Inbox).

Sign in to add a comment