New issue
Advanced search Search tips

Issue 816002 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

High Steady State CPU and Memory Usage

Reported by stefanko...@gmail.com, Feb 24 2018

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36

Steps to reproduce the problem:
Optimize Chrome for my PC

What is the expected behavior?
For Chrome to be light as possbile

What went wrong?
Chrome is using a lot of my PC resources

Did this work before? No 

Chrome version: 64.0.3282.186  Channel: stable
OS Version: 10.0
Flash Version: 

Can you please optimize Chrome for my PC?
 
431232.jpg
40.1 KB View Download
DxDiag.txt
71.7 KB View Download
MSInfo.txt
833 KB View Download
Labels: Needs-Triage-M64
So can you fix this?
Cc: susan.boorgula@chromium.org
Labels: Triaged-ET Needs-Feedback
stefankoncar321@ Thanks for the issue.

Tested this issue on Windows 10 on the reported version 64.0.3282.186 and canary 66.0.3356.0 and unable to reproduce the issue.

Cannot observe any increase in CPU usage after launching Chrome and browsing few sites.
Attached are the screen shots for reference.

Request you to please retry the issue on a new chrome profile without any flags/extensions and update the thread with the observations.

Thanks..

816002.png
54.8 KB View Download
816002-sys-info.PNG
40.7 KB View Download
I already reinstalled Chrome with a Guest profile and no extensions and it still has high CPU and RAM usage, also tried that with Canary and it's the same
Maybe Chrome is not optimized for my hardware, can you please optimize it?
Project Member

Comment 6 by sheriffbot@chromium.org, Feb 28 2018

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding the requester to the cc list.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
So can you fix this?
Here you have pictures of both VP9 and H264 video and they both use a lot of CPU and RAM, and even when don't do anything in Chrome it still uses over 1GB of RAM
123.jpg
300 KB View Download
My PC:
AMD Athlon II X2 250 3.0GHz
8GB DDR3 RAM
MS-7597 ver 1.3
Sapphire Radeon HD6670 1GB GDDR5
1TB HDD
Windows 10 Pro 64bit
1600x900 screen resolution
60/4 internet speed
Is anyone gonna fix this issue?
If you are seeing high CPU usage while on YouTube, it's a possibility that a malicious Web miner is at work, hogging up your system resources (including CPU) for the cybercriminal's profit. (https://arstechnica.com/information-technology/2018/01/now-even-youtube-serves-ads-with-cpu-draining-cryptocurrency-miners)

If not that, it's also a possibility that you have malware on your computer (such as a miner, or a local version of a Web miner) that is running through Chrome.
I've Reset the Windows and reinstalled Chrome and it's still using a lot of CPU and RAM
Labels: TE-NeedsTriageFromMTV
stefankoncar321@ Thanks for the update.

Re-tested the issue again on Windows 10 on the latest Stable 66.0.3359.139 and Canary 68.0.3425.0 and unable to reproduce the issue.
Cannot observe any increase in CPU usage after launching Chrome and browsing few sites.

As per comment #9, as this issue is observed on AMD gpu, adding 'TE-NeedsTriageFromMTV' and requesting MTV team to look into the issue and help in further triaging.

Thanks..


I have Adblock Plus and No Coin extension, I think that Chrome is not compatible with my hardware and can't use the Hardware Acceleration and so that's why it uses so much resources when I'm playing a video on YouTube
Labels: -TE-NeedsTriageFromMTV Performance
Adding respective component for further triaging.
Components: Internals>Core
Labels: TE-NeedsTriageHelp
As this issue is not repro at TE end, adding 'TE-NeedsTriageHelp' label and as per comment #15, requesting Performance team to look into the issue and help in further triaging.

Thanks..
There may be two separate issues, or maybe just one:

> that's why it uses so much resources when I'm playing a video on YouTube

> even when don't do anything in Chrome it still uses over 1GB of RAM

Chrome's memory and CPU usage when idle (when no pages or open, or when the new-tab-page is the only visible page) should be extremely low. If it is not then we need a trace in order to investigate. Using chrome://tracing to record a Javascript and rendering trace could be quite helpful.

Alternately, if you believe that this is a problem with Chrome not being optimized for your hardware then an ETW trace is more likely to be helpful. Instructions on recording a trace can be found here:

https://randomascii.wordpress.com/2015/09/01/xperf-basics-recording-a-trace-the-ultimate-easy-way/

If you record an ETW trace then it is very helpful if you also mention which web pages you have open. One way of doing this would be to grab a screenshot of Chrome's task manager after you have recorded the trace (it should be closed during the trace recording) and sharing that as well.

Either way the recorded trace needs to be shared with us. If it is too big to attach to the bug then it can be uploaded to Google drive somewhere and made available for brucedawson@chromium.org and I will examine it to try to determine the cause.

One of these traces - particularly the ETW trace - should give enough information for us to understand what is going on.

Cc: robliao@chromium.org
Owner: brucedaw...@chromium.org
Status: Assigned (was: Unconfirmed)
Summary: High Steady State CPU and Memory Usage (was: Optimize Chrome!)
Triage: Assigning to brucedawson@ for initial analysis
Thanks. I just got back from vacation (hence the lack of action) and I will try to take a look.
1GB of RAM and 90% CPU usage by Chrome is not ok, it uses a lot of RAM because since the newer updates Chrome has a memory leak and the browser should also be light as possible, I have around 60-70% CPU usage on Edge and Firefox and it never had above 100MB RAM usage on those browsers so you really need fix Chrome
43231.jpg
141 KB View Download
Thank you for the trace (comment #18). I looked at the portion of the trace (first ~32 s) where the video was playing. I see the busiest chrome.exe process - 14352 - using ~60% of the available CPU power. All of this time is spent inside vp9 decoding - software decoding of video.

Some GPUs support hardware vp9 decoding which dramatically reduces CPU usage and power usage, but apparently your GPU is not one of these (note that driver bugs can also prevent hardware decoding). One option is to use one of the chrome extensions which fores youtube to serve up h264 video since hardware decoding of this format is much more common.

We are working to fix some memory leaks so watch for memory improvements in the future. 

I have high CPU and RAM usage even on H264 videos, I have the latest driver installed for my GPU and there won't be any more drivers for my GPU because it is in Legacy https://support.amd.com/en-us/download/desktop/legacy?product=legacy3&os=Windows%2010%20-%2064

render_id: 12
player_id: 2140
origin_url: https://www.youtube.com/
frame_url: https://www.youtube.com/watch?v=NuNvCOUy1Ts
frame_title: (19964) star wars the old republic trailer - YouTube
url: blob:https://www.youtube.com/49ec3ef7-d8da-462d-8163-655e07c72cd8
info: Selected video track: []
pipeline_state: kPlaying
found_audio_stream: true
audio_codec_name: opus
duration: 1077.941
found_video_stream: true
video_codec_name: vp9
audio_dds: false
audio_decoder: FFmpegAudioDecoder
video_dds: false
video_decoder: VpxVideoDecoder
audio_buffering_state: BUFFERING_HAVE_ENOUGH
video_buffering_state: BUFFERING_HAVE_ENOUGH
height: 1080
width: 1920
for_suspended_start: false
pipeline_buffering_state: BUFFERING_HAVE_ENOUGH
event: PLAY


Log 
property filter
Timestamp	Property	Value
00:00:00 00	origin_url	https://www.youtube.com/
00:00:00 00	frame_url	https://www.youtube.com/watch?v=NuNvCOUy1Ts
00:00:00 00	frame_title	(19964) star wars the old republic trailer - YouTube
00:00:00 00	url	blob:https://www.youtube.com/49ec3ef7-d8da-462d-8163-655e07c72cd8
00:00:00 00	info	ChunkDemuxer: buffering by DTS
00:00:00 00	pipeline_state	kStarting
00:00:00 188	found_audio_stream	true
00:00:00 188	audio_codec_name	opus
00:00:00 173	duration	1078
00:00:01 171	found_video_stream	true
00:00:01 171	video_codec_name	vp9
00:00:01 212	audio_dds	false
00:00:01 212	audio_decoder	FFmpegAudioDecoder
00:00:01 212	info	Selected FFmpegAudioDecoder for audio decoding, config: codec: opus bytes_per_channel: 4 channel_layout: 3 channels: 2 samples_per_second: 48000 sample_format: 4 bytes_per_frame: 8 seek_preroll: 80ms codec_delay: 312 has extra data? true encrypted? false discard decoder delay? true
00:00:01 224	video_dds	false
00:00:01 224	video_decoder	VpxVideoDecoder
00:00:01 225	info	Selected VpxVideoDecoder for video decoding, config: codec: vp9 format: 1 profile: vp9 profile0 coded size: [1920,1080] visible rect: [0,0,1920,1080] natural size: [1920,1080] has extra data? false encrypted? false rotation: 0°
00:00:01 225	pipeline_state	kPlaying
00:00:01 259	audio_buffering_state	BUFFERING_HAVE_ENOUGH
00:00:01 336	video_buffering_state	BUFFERING_HAVE_ENOUGH
00:00:01 388	height	1080
00:00:01 388	width	1920
00:00:01 388	for_suspended_start	false
00:00:01 388	pipeline_buffering_state	BUFFERING_HAVE_ENOUGH
00:00:01 389	info	Effective playback rate changed from 0 to 1
00:00:01 389	event	PLAY
00:00:02 341	audio_buffering_state	BUFFERING_HAVE_NOTHING
00:00:02 361	audio_buffering_state	BUFFERING_HAVE_ENOUGH
00:00:02 765	for_suspended_start	false
00:00:02 765	pipeline_buffering_state	BUFFERING_HAVE_NOTHING
00:00:02 801	for_suspended_start	false
00:00:02 801	pipeline_buffering_state	BUFFERING_HAVE_ENOUGH
00:00:01 187	duration	1077.941
00:01:23 663	video_buffering_state	BUFFERING_HAVE_NOTHING
00:01:24 423	video_buffering_state	BUFFERING_HAVE_ENOUGH
00:01:29 100	video_buffering_state	BUFFERING_HAVE_NOTHING
00:01:29 221	video_buffering_state	BUFFERING_HAVE_ENOUGH
00:01:39 319	info	Selected video track: []
00:01:39 319	video_buffering_state	BUFFERING_HAVE_NOTHING
00:01:39 319	video_buffering_state	BUFFERING_HAVE_ENOUGH
00:02:12 828	info	Selected video track: [191]
00:02:12 834	video_buffering_state	BUFFERING_HAVE_NOTHING
00:02:15 838	for_suspended_start	false
00:02:15 838	pipeline_buffering_state	BUFFERING_HAVE_NOTHING
00:02:16 340	video_buffering_state	BUFFERING_HAVE_ENOUGH
00:02:16 462	for_suspended_start	false
00:02:16 462	pipeline_buffering_state	BUFFERING_HAVE_ENOUGH
00:02:23 889	info	Selected video track: []
00:02:23 889	video_buffering_state	BUFFERING_HAVE_NOTHING
00:02:23 889	video_buffering_state	BUFFERING_HAVE_ENOUGH
00:02:26 143	info	Selected video track: [191]
00:02:26 152	video_buffering_state	BUFFERING_HAVE_NOTHING
00:02:29 153	for_suspended_start	false
00:02:29 153	pipeline_buffering_state	BUFFERING_HAVE_NOTHING
00:02:31 172	video_buffering_state	BUFFERING_HAVE_ENOUGH
00:02:31 172	for_suspended_start	false
00:02:31 172	pipeline_buffering_state	BUFFERING_HAVE_ENOUGH
00:02:37 996	info	Selected video track: []
00:02:37 997	video_buffering_state	BUFFERING_HAVE_NOTHING
00:02:37 998	video_buffering_state	BUFFERING_HAVE_ENOUGH
00:02:45 552	info	Selected video track: [191]
00:02:45 561	video_buffering_state	BUFFERING_HAVE_NOTHING
00:02:47 924	video_buffering_state	BUFFERING_HAVE_ENOUGH
00:02:56 887	info	Selected video track: []
00:02:56 887	video_buffering_state	BUFFERING_HAVE_NOTHING
00:02:56 888	video_buffering_state	BUFFERING_HAVE_ENOUGH
1241431.jpg
259 KB View Download
render_id: 12
player_id: 2153
origin_url: https://www.youtube.com/
frame_url: https://www.youtube.com/watch?v=WQ36uiRyPMc
frame_title: (19964) YouTube
url: blob:https://www.youtube.com/c9371a69-64bf-4f1a-8051-809431f11e93
info: Effective playback rate changed from 0 to 1
pipeline_state: kPlaying
found_video_stream: true
video_codec_name: h264
debug: Skipping audio splice trimming at PTS=150000907us. Found only 21us of overlap, need at least 1000us. Multiple occurrences may result in loss of A/V sync.
found_audio_stream: true
audio_codec_name: aac
audio_dds: false
audio_decoder: FFmpegAudioDecoder
video_dds: false
video_decoder: GpuVideoDecoder
audio_buffering_state: BUFFERING_HAVE_ENOUGH
video_buffering_state: BUFFERING_HAVE_ENOUGH
height: 480
width: 854
for_suspended_start: false
pipeline_buffering_state: BUFFERING_HAVE_ENOUGH
event: PLAY
duration: 194.676099


Log 
property filter
Timestamp	Property	Value
00:00:00 00	origin_url	https://www.youtube.com/
00:00:00 00	frame_url	https://www.youtube.com/watch?v=WQ36uiRyPMc
00:00:00 00	frame_title	(19964) YouTube
00:00:00 00	url	blob:https://www.youtube.com/c9371a69-64bf-4f1a-8051-809431f11e93
00:00:00 00	info	ChunkDemuxer: buffering by DTS
00:00:00 07	pipeline_state	kStarting
00:00:00 333	found_video_stream	true
00:00:00 333	video_codec_name	h264
00:00:00 334	debug	Parsed video frame has DTS 66666us, which is after the frame's PTS 33333us
00:00:00 334	debug	Parsed video frame has DTS 133333us, which is after the frame's PTS 100000us
00:00:00 334	debug	Parsed video frame has DTS 200000us, which is after the frame's PTS 166666us
00:00:00 334	debug	Parsed video frame has DTS 233333us, which is after the frame's PTS 200000us
00:00:00 334	debug	Parsed video frame has DTS 300000us, which is after the frame's PTS 266666us
00:00:00 334	debug	Parsed video frame has DTS 366666us, which is after the frame's PTS 333333us
00:00:00 334	debug	Parsed video frame has DTS 433333us, which is after the frame's PTS 400000us
00:00:00 334	debug	Parsed video frame has DTS 466666us, which is after the frame's PTS 433333us
00:00:00 334	found_audio_stream	true
00:00:00 334	audio_codec_name	aac
00:00:00 339	audio_dds	false
00:00:00 339	audio_decoder	FFmpegAudioDecoder
00:00:00 339	info	Selected FFmpegAudioDecoder for audio decoding, config: codec: aac bytes_per_channel: 2 channel_layout: 3 channels: 2 samples_per_second: 44100 sample_format: 2 bytes_per_frame: 4 seek_preroll: 0ms codec_delay: 0 has extra data? false encrypted? false discard decoder delay? false
00:00:00 372	debug	Parsed video frame has DTS 566666us, which is after the frame's PTS 533333us
00:00:00 372	debug	(Log limit reached. Further similar entries may be suppressed): Parsed video frame has DTS 633333us, which is after the frame's PTS 600000us
00:00:00 415	video_dds	false
00:00:00 415	video_decoder	GpuVideoDecoder
00:00:00 415	info	Selected GpuVideoDecoder for video decoding, config: codec: h264 format: 1 profile: h264 main coded size: [854,480] visible rect: [0,0,854,480] natural size: [854,480] has extra data? false encrypted? false rotation: 0°
00:00:00 415	pipeline_state	kPlaying
00:00:00 421	audio_buffering_state	BUFFERING_HAVE_ENOUGH
00:00:00 905	video_buffering_state	BUFFERING_HAVE_ENOUGH
00:00:00 913	height	480
00:00:00 913	width	854
00:00:00 914	for_suspended_start	false
00:00:00 914	pipeline_buffering_state	BUFFERING_HAVE_ENOUGH
00:00:00 915	info	Effective playback rate changed from 0 to 1
00:00:00 915	event	PLAY
00:00:00 396	duration	194.676099
00:00:04 271	video_buffering_state	BUFFERING_HAVE_NOTHING
00:00:04 387	video_buffering_state	BUFFERING_HAVE_ENOUGH
00:00:31 669	debug	Skipping audio splice trimming at PTS=150000907us. Found only 21us of overlap, need at least 1000us. Multiple occurrences may result in loss of A/V sync.
00:01:01 37	video_buffering_state	BUFFERING_HAVE_NOTHING
00:01:01 344	video_buffering_state	BUFFERING_HAVE_ENOUGH
00:01:12 216	duration	194.676098
I just found out that the Adblock Plus extension is using almost 200MB of RAM and I sent and email to Adblock Plus and they told me that they are working to fix this issue, and also YouTube is using around 300MB of RAM, I don't know why they really should fix the website
So can you please fix this?
I have Chrome Stable and Chrome Canary both running, with 61 processes open (40+ tabs). I ran https://cs.chromium.org/chromium/src/tools/win/IdleWakeups/ to summarize CPU usage across all of these processes and it reported an average CPU usage of 5.4% of a core, which seems quite reasonable. Total memory usage is a bit less than 6 GB, or less than 100 MB per process. Ironically the tab that is consuming the most memory is the one that is viewing this issue, at about 650 MB. I may file a bug to investigate why that is the case. It must be something to do with the attachments since other crbug.com tabs are not consuming as much RAM.

Anyway, my point is that Chrome itself does not necessarily consume a lot of CPU time. There are extensions (Adblock Plus) that may increase CPU time and memory usage. There are also some pages that use a lot of CPU time and memory - bitcoin miners being a particularly pathological example.

Unfortunately screenshots don't help us. We either need chrome://tracing traces, or ETW traces (see comment 17) or, better yet, a list of steps that let us reproduce the problems that you are seeing so that we can determine whether you are hitting problems with Chrome, limitations of your hardware (no hardware decode of video), or problems with particular web pages.

To be completely clear: if a web page decides to consume lots of RAM and CPU then there is little to nothing that Chrome can do about it.

Update: I misread the task manager data and it was actually gmail that was consuming 650 MB (with its title pointing to this bug, hence my confusion). It has been open for a couple of weeks and it is known that gmail can consume a lot of RAM, especially when running for a while, so this is not entirely surprising. Refreshing that tab dropped memory usage to 400 MB.
I already posted the trace logs
Right, and I looked at those at the time. It seems like this bug is being used for two different things:

1) High CPU usage during video playback. I looked at the ETW traces and verified that this is because software decoding is being used for VP9 playback. Generally speaking there is not much we can do about these - we are dependent on the video drivers.
2) High Steady State CPU and Memory Usage. This is a completely different issue. I strongly suspect that this is page dependent but I haven't seen any traces for this issue so I can't say for sure. I recommend using Chrome's Task Manager to identify which pages are using large amounts of CPU and memory and see (by trying other browsers) if the problem is with the page. Unfortunately this issue, as it stands, is too generic for us to be able to do anything with it. It is something we are working on and version 69 of Chrome may show some improvements, but whether it does depends a lot on exactly what is causing the problem.

If you want to investigate high CPU usage when playing videos then I recommend finding a bug for that specific topic or opening a separate bug - having two different issues under one bug leads to confusion.

> YouTube is using around 300MB of RAM

YouTube uses a lot of memory in order to support rewinding a bit without having to ask the site for the video stream again. To some extent this is by design.

Yes YouTube and Adblock Plus are using a lot of my memory
Can you please fix the memory leak and improve Chromes compression so it doesn't use that much memory

Sign in to add a comment