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)

2
  • 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 3, 2011 at 18:26
  • 3
    here you'll find some additional info stackoverflow.com/questions/2019500/…
    – NES
    Jan 3, 2011 at 19:12

2 Answers 2

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.

14
  • 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 3, 2011 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 3, 2011 at 19:19
  • @jrgifford You're absolutely right, I researched it and removed the ambiguousness. It's a full process, not just a thread. Jan 3, 2011 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... Jan 3, 2011 at 19:41
  • 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 3, 2011 at 22:40
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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .