22

I've got almost 20 processes for google chrome (whilst only having 4 tabs open, all with barebones HTML) , all hogging memory and either saying futex_wait_queue_me or poll_schedule_timeout.

My fan is going wild by all this and one of the processess is eating up my entire CPU, what is happening?

(Happens to Chromium too)

Braiam
  • 67,791
  • 32
  • 179
  • 269
Dante Ashton
  • 5,505
  • May be memory is probably shared between processes.Look at /proc/$pid/smaps and see if Pss is lower than Rss.If so, it's shared. – karthick87 Jan 03 '11 at 18:26
  • 3
    here you'll find some additional info http://stackoverflow.com/questions/2019500/how-can-google-chrome-isolate-tabs-into-seperate-processes-while-looking-like-a-s – NES Jan 03 '11 at 19:12

2 Answers2

30

Chrome renders each page (tab) in a different process. This makes it faster on multi-processor machines.

The behaviour you're seeing is normal.

futex_wait_queue_me refers to a type of mutex lock (fast userspace mutual exclusion) that is used to schedule many processes work on one processor. The state indicates that your process is enqueued to receive the lock.

Sometimes, an unusually high amount of waiting for a lock can be caused by cpu throttling, but most often, it's normal. Take a look at the sort of website you have open; Perhaps something like Flash is causing the high CPU load.

To see what tabs or plugins are slowing down your system or filling up your memory, you can use Chrome's built in task manager:

Right click on the tab bar and select "Task Manager"

alt text

In my example, omgubuntu's javascript uses a lot of cpu.

  • 5
    It renders each tab as a different process - runs it in it's own "sandbox" to minimize the chances of a Virus killing the entire Browser. Make sense? – jrg Jan 03 '11 at 18:36
  • 5
    Each plugin (flash, etc.) is also its own process. And it doesn't just stop viruses--if flash crashes, or one tab crashes, it allows you to just kill the tab/plugin/whatever, and leave the rest of your stuff intact. This is considered a handy feature, and other browsers are working to mimic it. I believe Mozilla is working on some radical change to Firefox's tab management system just to implement this feature, but I don't follow them closely, and I don't know if it's planned to be out for FF4. – Daniel Jan 03 '11 at 19:19
  • @jrgifford You're absolutely right, I researched it and removed the ambiguousness. It's a full process, not just a thread. – Stefano Palazzo Jan 03 '11 at 19:19
  • @Daniel God I hope not... When I have tons of tabs open and Flash kills one of them, at least half of them go down. It only ever happens in Chrome, never firefox... – Nick Pascucci Jan 03 '11 at 19:41
  • @Daniel Out-of-process plugins exists since Firefox 3.6.4 and honestly, is better than Chrome. I don't know about earlier versions, but Opera 11 has it too. Out-of-process tabs, is a different story and it won't be landing on Firefox 4, which already reached feature freeze and should be heading towards a release candidate soon. More info about OOP on Mozilla products at https://wiki.mozilla.org/Electrolysis – lovinglinux Jan 03 '11 at 19:47
  • @Stefano You weren't far off though. – jrg Jan 03 '11 at 19:51
  • @Daniel - I've experienced the same issue that @codeMonk has - in Chrome on Ubuntu/Windows/Mac, when Flash dies in one tab, it dies in all. However, on Chrome OS (I have a Cr-48), it's a completely isolated process. When Flash crashes in one tab on there, my other tabs are fine. Something to do with what modifications Google did to Chrome, I think. – jrg Jan 03 '11 at 19:53
  • @codeMonk All of the tabs with Flash content lose said content until you refresh. This includes Gmail, if you have the progress bars on uploads enabled. It would be a bit much to have a separate flash process running for each tab with flash in it. And the tabs don't die completely, it's only the flash content that stops working right. – Daniel Jan 03 '11 at 22:37
  • 1
    @jrgifford You lucky jerk. Uh... Yeah, with the browser being the only thing that can eat up system resources, they probably (and rightly) feel like they have license to sandbox each instance of flash as its own process. But that would be a bit extreme for the non-OS version of Chrome, I guess. – Daniel Jan 03 '11 at 22:40
  • @Daniel No, the way I experience it is it kills the entire process and crashes all of the tabs being rendered by that process (which often includes 8-10 of them and sometimes more)... and the fact that Chrome doesn't have a "reload all" option it's a real pain. Gotta love the startup speed though! – Nick Pascucci Jan 03 '11 at 22:52
  • @Daniel Yeah. They have the right to completely sandbox each tab, and it works very well. – jrg Jan 04 '11 at 15:50
  • @CodeMonk Chrome does have a "reload all" option - when you open up Chrome after a force quit, it has a "Restore tabs" option thingy. @Daniel – jrg Jan 04 '11 at 15:51
  • +1 - Also, Chrome gives each plugin its own process. – Nathan Osman Jan 06 '11 at 02:28
  • @jrgifford It's not just a force quit. You can quit a single window intentionally, and open it again. If you have more than one window, the recently closed tabs function occasionally (I don't know if it's buggy, or what) says something like "11 tabs" and you can click on it to open the recently closed window back up. Pretty sweet.... Uh, but that's enough talk about Chrome. Good browser, but... We've kind of beat the issues at hand to death. – Daniel Jan 06 '11 at 04:39
3

Having multiple processes is a normal behavior of Chrome/Chromium.
futex_wait_queue_me or poll_schedule_timeout status for those processes seems okay.

You could use the system-monitor to see if one particular process is using too much cpu. Sometimes buggy javascripts or flash programs start using all the cpu.

If you think this is the case, make sure you do not have any unsaved data in some web apps and just terminate the process. Chrome will then propose you to reload the page. It usually solves the problem.

Maxime R.
  • 3,820