Почему в Chrome так много процессов на моей машине?

21

У меня есть почти 20 процессов для Google Chrome (в то время как открыто только 4 вкладки, все с HTML-кодами), все занимают много памяти и говорят futex_wait_queue_me или poll_schedule_timeout.

Мой фанат сходит с ума от всего этого, и один из процессов поглощает весь мой процессор, что происходит?

(Бывает и с хромом)

Данте Эштон
источник
Может быть, память, вероятно, поделена между процессами. /proc/$pid/smapsПосмотрите и посмотрите, не меньше ли Pss, чем Rss. Если это так, то она используется совместно.
karthick87
3
здесь вы найдете дополнительную информацию stackoverflow.com/questions/2019500/…
NES

Ответы:

29

Chrome отображает каждую страницу (вкладку) в отдельном процессе. Это ускоряет работу на многопроцессорных компьютерах.

Поведение, которое вы видите, нормальное.

futex_wait_queue_meотносится к типу мьютекса замка (быстрое пользовательское приложение взаимное исключение) , который используется для планирования многие процессы работают на одном процессоре. Состояние указывает, что ваш процесс поставлен в очередь для получения блокировки.

Иногда дросселирование процессора может вызывать необычно высокое время ожидания блокировки, но чаще всего это нормально. Посмотрите на сайт, который вы открыли; Возможно, что-то вроде Flash вызывает высокую загрузку процессора.

Чтобы увидеть, какие вкладки или плагины замедляют работу вашей системы или заполняют вашу память, вы можете использовать встроенный в Chrome диспетчер задач:

Щелкните правой кнопкой мыши на панели вкладок и выберите «Диспетчер задач».

альтернативный текст

В моем примере JavaScript от omgubuntu использует много процессоров.

Стефано Палаццо
источник
5
Он отображает каждую вкладку как отдельный процесс - запускает ее в своей «песочнице», чтобы минимизировать шансы вируса убить весь браузер. Есть смысл?
JRG
5
Каждый плагин (флеш и т. Д.) Тоже свой процесс. И это не просто останавливает вирусы - если происходит сбой флэш-памяти или одна вкладка, это позволяет вам просто убить вкладку / плагин / что угодно и оставить все остальное без изменений. Это считается удобной функцией, и другие браузеры работают, чтобы имитировать ее. Я считаю, что Mozilla работает над радикальным изменением в системе управления вкладками Firefox просто для реализации этой функции, но я не пристально слежу за ними и не знаю, планируется ли выпуск FF4.
Даниэль
@jrgifford Вы абсолютно правы, я исследовал это и убрал неоднозначность. Это полный процесс, а не просто поток.
Стефано Палаццо
@Daniel Боже, я надеюсь, что нет ... Когда у меня открыты тонны вкладок и Flash убивает одну из них, по крайней мере половина из них выходит из строя. Это случается только в Chrome, а не в Firefox ...
Ник Паскуччи
1
@jrgifford Ты счастливчик. Э-э ... Да, поскольку браузер - это единственная вещь, которая может поглощать системные ресурсы, они, вероятно, (и правильно) чувствуют, что у них есть лицензия, позволяющая помещать в песочницу каждый экземпляр flash как отдельный процесс. Но это было бы немного экстремально для не-OS версии Chrome, я думаю.
Даниэль
3

Наличие нескольких процессов является нормальным поведением Chrome / Chromium.
Состояние futex_wait_queue_me или poll_schedule_timeout для этих процессов кажется нормальным.

Вы можете использовать системный монитор, чтобы увидеть, использует ли один конкретный процесс слишком много процессора. Иногда глючные javascripts или флеш-программы начинают использовать весь процессор.

Если вы считаете, что это так, убедитесь, что в некоторых веб-приложениях нет несохраненных данных, и просто прекратите процесс. Chrome предложит вам перезагрузить страницу. Обычно это решает проблему.

Максим Р.
источник