Hacker News new | past | comments | ask | show | jobs | submit login
What Is Google Chrome Helper, and Why Is It Hogging My CPU Cycles? (wired.com)
197 points by dsr12 on Oct 17, 2014 | hide | past | favorite | 78 comments

Short version: the Wired journalist doesn't really understand what they're talking about. I can't believe no-one has pointed this out yet.

There is a Google Chrome Helper process for each tab you have open, for each extension you have installed, for each plugin that is currently running and one to talk to the GPU in your system.

If you enable "Click to play" and open Chrome with one empty tab you'll still have at least two Google Chrome Helper processes. One for the empty tab and one for the GPU process. If you've installed any extensions you'll have more. There is no way to "destroy the Google Chrome Helper".

That article is very badly written.

> In many cases, the plug-ins and processes they’re handling aren’t listed by name because the APIs don’t allow it. Google Chrome Helper is a martyr.

The author's chief complaint is that Google Chrome Helper obscures the source of crashes/hangs, making diagnosis that much harder. The article is badly written, sure; but the workaround does allows you to isolate suspect content from everything else.

> There is a Google Chrome Helper process for each tab you have open, for each extension you have installed, for each plugin that is currently running and one to talk to the GPU in your system.

You can see the CPU/RAM/network utilization of each in Chrome's task manager. You can open it via Shift + Esc or ☰ -> More Tools -> Task Manager.

> That article is very badly written.

I would not claim this, I would take the article as an example of what the average user thinks it's happening in their computer, and I would use the article as a reference to make things clearer to the users in the future.

Thank you for saving our time!

Short version: It's the process that runs extensions and plugins like flash.

Interestingly the solution to problems with it is the same as implemented in Opera 12 years ago: Configure the browser to run plugins only when the user explicitly activates them.

Info on how to set "Click to Play" in chrome settings: https://security.berkeley.edu/content/how-do-i-enable-click-...

Did this on my 2008 MacBook, still running Snow Leopard. The speed was immediately noticeable when browsing the web.

I'd recommend it if anyone else has noticed a slow down at all.

I did the setting changes. Now the process monitor on my MBP (Yosemite) shows a bunch of "Google Chrome Helper" not responding in red. Not sure this has saved battery but seems battery goes out even quicker.

I gotta ask: why are you still running Snow Leopard?

I am not him, but on one older Mac, I am running Snow Leopard because it's the last OS X I can run on a 32bit computer.

And yes, I know, it has all the terrible ShellShock bugs and other stuff that will never be fixed, but I just need to run some OS X software time from time and I won't buy a new Mac because of that.

And when I tried to install Linux on that, Wi-fi didn't work properly, and there were some other issues I had with I think rebooting and maybe some other hardware stuff (I know, it sounds like a cliche, but it's true)

I don't feel there are any real benefits in upgrading. It'll just slow down my MacBook even more.

Thanks for the honest reply. I wasn't trying to be judgemental, just trying to understand specific reasons, rather than admit the nebulous cloud of "because".

I still run Tiger on a PowerBook G4.

This is awesome. Flash isn't used for anything anymore, can't wait until this is the default.

Besides ads. And Google is first and foremost an advertising company. Don't hold your breath for that to become the default in Chrome.

And that's pretty much why Google built Google Web Designer[0] - because advertisers are going to want their media to run on all browsers, even ones without Flash.

[0] http://www.google.co.uk/webdesigner/

Google Flash ads are rare, and I'm sure they'd be happy to move away from them entirely in favor of HTML5 technologies.

And this is why we must treasure and keep Flash -- so we can easily block the kinds of people who use it.

Filtering out HTML5 video ads is harder (though if you block everything set to auto play you do OK).

#(though if you block everything set to auto play you do OK)

How do i do this on chrome?

I do all my rewriting with a proxy (in my case glimmer blocker, though I also had to implement my own man-in-the-middle SSL tool to make it work with https connections). I simply rewrite URLs, strip referrer tags, respond with empty files for domains I don't like, and rewrite pages to remove crud. It speeds up my browsing experience immensely and coincidentally improves my privacy somewhat.

I seems brain damaged to me to do it via a browser extension since I use multiple browsers, not to mention other programs that make http/https/ftp connections (e.g. RSS reader, mail reader etc).

It's still the only way to get write access to the clipboard, unfortunately.

In what browser is Flash still required? I've been doing:

    to_clipboard = (text) ->
        textarea = document.getElementById "copy-workaround"
        textarea.value = text
        document.execCommand "copy", false, null
In chrome for years.

That code doesn't work (at least in ordinary page scripts), as far as I can tell.


You're entirely right, after looking into it a bit, it seems it's blocked now in everything but content pages (which is where I use it)

I've had "Click to Flash" turned on in Chrome for a while - I found running flash by default was having a measurable impact on my battery life. Turning it off makes Chrome more responsive and nets me an (anecdotal) increase in longevity when I'm away from the charger.

Flashblock on Firefox does the same thing, and I run with it rather than AdBlocker. Blocking flash removes the most painful advertising, leaving more appropriate, less in-your-face advertising as a sort of compromise for the vendors. The 'net is noticably louder when I go onto a machine without flash being blocked.

You don't need Flashblock to do that. Firefox itself allows you to set plugins to "click to play".

Stopping rollover ads is worth it alone. Does stopping ads in this way prevent ad revenue?

Opera implemented click to play because, unlike Microsoft and Netscape, they couldn't afford to pay the patent troll with the auto-play patent.

That is actually a different behavior. In Opera you have to click on a flash applet to activate it even when it's loaded automatically. The click-to-play thing however makes it so a placeholder is displayed until you click, and only then the download and integration of the applet is started. It's even configurable per site, and explicitly meant to save CPU and bandwidth.

This article won't help much. Many people are saying this issue occurs without any plug-ins. I doubt it is the true cause. There are many Google Chrome Helper CPU eating up issues. Some are obviously not plug-in and extension related.

Chrome for Mac is almost useless because of this issue. I first encountered this just after Maverics release and Google has not fixed it until now. Very odd.

Issue 373923 - chromium - Google Chrome Helper Process Taking up >100% CPU on Macs


Issue 397642 - chromium - Google Chrome Helper (not responding) on Yosemite Beta 1


Issue 399960 - chromium - Video playback, CSS transitions, and other GPU operations drastically heat up 13" Retina Macbook Pros


Issue 367593 - chromium - Multiple Google Chrome Helpers are spawning and slowing severely slowing down my browser


Google Chrome Helper using far too much CPU power - Google Group


Switched to Safari for casual browsing because of similar issues and much better battery life on many occasions.

Best solution for me is firefox + noscript. Super clean and fast.

You also get to see which sites are pulling javascript from 20+ other locations. Sometimes it's an almost-fun game of 'hunt the snipe' to find the javascript source that will present the actual content to you...

We have much different ideas of almost-fun.

It really does get quite amusing when you see "oh, two blocked scripts and one looks like their CDN, no problem" and temporarily enable them. Then the page reloads and 13 more scripts are blocked, so you make some reasonable guesses and it turns out the site won't play the goddamn video unless you also load some disqus comments, send a referrer header, allow something that looks like an XSS attack and sacrifice a goat.

I end up just leaving two browsers with different profiles loaded half the time, one of them tweaked to be as revealing as possible, for loading stuff I just want to see and don't want to play unblocking games with. Then when I close it all the cookies, localstorage, etc. goes poof. As he said, it's almost fun. Not actually fun.

I did the same. Safari is for personal browsing (and because I love Reading List and the integration with my iPad and iPhone, as well as iCloud's Keychain), Firefox is for development and work.

Chrome Canary is good on Yosemite too

i have been wrestling with this for weeks, both professionally and personally. I'm fairly certain that in this process/before we noticed the problem we burned up one of our machines.

The thing is, there's no flash involved. We've narrowed it down to css3 transitions running amok. In other cases we've poorly constructed JS loops causing problems.

Recently i've noticed it on everything (even gmail, drive and calendar) in chrome.

No problems elsewhere, although in a side-by-side comparison with mozilla showed mozilla nearing similar cpu usage (30-60%) but never sustained (lasting seconds)

Not sure if this helps anyone, or if this is just 'duh.' The css3 transitions being involved i have not read out in the wild, so i thought i'd toss that idea out.

One of the most annoying things about Chrome is that I can't kill individual tabs via the task manager. Occasionally one tab will go crazy, then I have to click around trying to figure out which tab. Task manager can only close group of tabs.

I know this isn't the same issue just a whole bunch of annoying things about chrome

Chrome actually has a built in Task Manager which can be super useful for this sort of thing.

For example, it allows one to see CPU & Mem usage per tab. It also has the ability to kill problematic tabs, extensions and background processes with ease.

Chrome's Task Manager can be found under Menu Icon -> (More) Tools.

In fact, this feature was being used often enough, that I ended up assigning it a shortcut. (for me: command-shift-1)

Doesn't it have a default shortcut? I think "Shift + Esc" opens it.

on windows. doesn't on mac for some reason.

Did you read what I wrote?

You can kill groups of tabs that are part of the same process. BUT that does not mean that you can kill individual tabs via the Task Manager and the main source of my complaint.

Does that come along for the ride if you use Chromium rather than Chrome? I'm not next to my Mac, but I believe I remember chromium being available through the homebrew cask system.

I don't care if I don't have flash (actually I care to NOT have flash). So what reason would there be to not simply run Chromium? Or am I forgetting something useful that I'm likely using?

Certain YouTube videos use Flash instead of HTML5, particularly at higher resolutions. You can probably live without this, but it's worth noting.

Not anymore—all videos can be viewed in Chromium as well (except those with special DRM).

They’re using DASH with small .mp4 snippets. It’s also the reason why videos don’t load completely anymore and why audio and video sometimes go out of sync. Also the reason why nothing works as expected.

This is called Slice Bread. It also helps video buffer much faster. http://www.sfgate.com/technology/dotcommentary/article/Googl...

That's good to know, thank you. I knew that they transitioned to DASH but I didn't think that brought HTML5 everywhere. For live stream events (e.g. Apple's announcements), do they still use Flash?

Apple's announcements usually use the Quicktime plugin, at least if you're viewing on OSX. You can also usually extract the source stream and play it in another app if you dig through the markup/scripts/etc.

It's worth noting that HLS is still currently being used for live events on YouTube, which requires the Flash player on Chrome.

Sync, auto-updating, DRM. PDFium used to be Chrome-only but was recently open-sourced.

Sync works on Chromium (Linux) too, have been using it ever since I could.

On the topic of Chrome performance tips, if you always have dozens of open tabs in different windows, this nifty extension will freeze them out (unload them) until you actually want to look at them again : https://chrome.google.com/webstore/detail/the-great-suspende...

In theory, this is what memory paging is for. In practice, this is higher level and seems to work much better.

I disabled it after a while. Its time lapse can't be changed although available from setting. It tends to suspend tab within a couple minutes and constant reload when switching between tabs. Very poorly developed, a nice idea though. A similar addon in firefox has done this long time ago and I can keep over hundreds tabs in firefox almost all the time, while only a few is loaded.

I find it flaky. It loves to constantly suspend Calendar and make miss appointments.

While I haven't noticed 'Chrome Helper' problems, sometimes Chrome slows my machine with a ton of 'lsof' processes. I suspect an updater going haywire; more details here:


Anyone else seen or worked-around this? (It's been a while since it's noticeably recurred, so maybe it's been fixed.)

Maybe plug-in execution ought to stop when the relevant page is in the background. At least on battery-powered devices. Some Flash content tends to run in the background, doing who knows what, probably something related to advertising, tracking, or general obnoxiousness. On phones, "Run in Background" is usually a privilege that's discouraged.

Many people expect to be able to listen to say, music on youtube in one tab, while browsing the internet in another. So it's a bit of a hard problem (not to mention that a plugin just keeps running, and you have no real control over it). However, all the major browsers try to throttle javascript in background tabs. Usually by making setInterval return only once a second.

It doesn't go to (Not Responding) mode if you use Chrome canary with OSX Yosemite


> * use the Memory Clean app*

Don't do that.

No seriously, don't do that.

These kinds of apps do nothing but prey upon the gullible. They're worse than useless; they actually decrease the performance of your system.

The OS is actually remarkably good at managing memory. Like, staggeringly good. Especially in Yosemite. Beyond that, the OS actually wants to keep as little RAM "free" as possible. "Free" RAM is wasted RAM. It uses that RAM to store memory that might be used again in the future. That's what "Inactive" is; it's memory that is not currently being used, but contains stuff that may be used again, and if it's not, that stuff can be thrown out in order to provide the memory to another application.

And yet, the application you linked says that its primary purpose is to "purge" this inactive memory. That's counterproductive. If another app needs it, the memory will be given to that app whether or not it's been "purged". The only thing that "purging" it does is remove the ability to reuse the original contents of the memory.

I'm guessing this is why Activity Monitor in Yosemite doesn't even list "Inactive" memory anymore (or "Free"). Instead it has "File Cache". On my iMac right now, with 20GB of RAM, the "File Cache" is "11.02GB". And that's fine. That's great. It means if any of the cached file data is needed, it's already in memory. That's vastly better than leaving it around as "free" memory.

Every modern OS behaves this way. It's deliberate, it's absolutely crucial for good behavior, and "memory clean" apps do nothing but hurt the performance of your system.

So don't use it.

Wait, isn't "Memory Clean" just one of those apps that allocates a huge chunk of memory, forcing the OS to page everything else to disk? Those things are snake oil, they don't improve anything and in fact are often worse than doing nothing at all...

Plus, a modern OS can sensibly manage it's own memory. If a lot of your memory is buffered, the OS will deal with it. If it's all taken, well, no additional application is going to help you with that.

I think this panic started with Windows Vista where there was no distinction between actually used memory and memory used for caches and buffers. Hence the complaints about how Vista was so inefficient, it didn't have enough memory even when freshly launched with no apps open.

It is complete snake oil and in the vast majority of cases will result in a net performance loss.

I just installed memory clean the other day, and it seems to work well. I didn't turn on the auto-clean because I was concerned it would effect battery life.

Any anecdotal data on that?

The app is worthless. Actually, it's harmful. Throw it out. See my other comment for a detailed explanation:


Thanks for the reply. I've actually removed it from my system after seeing that all it would do is remove inactive memory.

Not yet - Recently, I have mostly used my laptop while plugged in except for relatively short unplugged intervals.

tl;dr extensions and plugins.

Who is General Failure, and why is he reading my disk?

AFAIK this has only been a real problem since Yosemite. I noticed it when running the GM Candidates but never saw it in Mavericks.

I'm on Mavericks and I see it as my top CPU hog occasionally too.

Well, everyone's downvoting me, but I swear I never noticed this until Yosemite.

Either way, the weird thing is that if you go to the Window menu and hit Task Manager... you can monitor extension CPU usage, etc.

I never had a problem until recently, and yet now I'm seeing red in the Activity Manager due to Chrome. It's bizarre.

You're probably downvoted because it's been pretty widely known that Chrome is a CPU hog on OS X. Checking the energy shaming feature, Chrome is pretty much always in the "Apps Using Significant Energy" section. I did a quick search on "Chrome energy OS X" and found a number of pages that mention it, all of which date back to Mavericks which is the first time energy usage was reported (separate from straight CPU usage).

I only use Chrome if I need to use a site with Flash and I use the "Open Page With" item in Safari's Develop menu to open the appropriate page. Then, I quit once I'm done with it.

You're probably downvoted because it's been pretty widely known that Chrome is a CPU hog on OS X. Checking the energy shaming feature, Chrome is pretty much always in the "Apps Using Significant Energy" section. I did a quick search on "Chrome energy OS X" and found a number of pages that mention it, all of which date back to Mavericks which is the first time energy usage was reported (separate from straight CPU usage).

Same, often a few with one crashed.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact