Почему в Chrome так много открытых процессов?
Если вы когда-либо заглядывали в Диспетчер задач во время работы Google Chrome, вы, возможно, были удивлены, увидев, что количество записей в chrome.exe радикально превысило количество реальных открытых окон Chrome. Что за дела со всеми этими процессами??
Сегодняшняя сессия вопросов и ответов пришла к нам благодаря SuperUser - подразделению Stack Exchange, группе веб-сайтов вопросов и ответов, управляемой сообществом..
Вопрос
Если вам интересно все эти, казалось бы, дублирующие процессы Chrome, вы не одиноки. Читатель SuperUser PolyShell действительно хочет докопаться до сути вещей:
В диспетчере задач Windows кажется, что у меня запущено несколько процессов Chrome, хотя у меня открыто только одно окно Chrome.
Как это возможно? Я всегда думал, что каждая открытая программа представляет собой один процесс.
В то время как само число отдельных процессов chrome.exe на первый взгляд кажется непонятным, есть отличное объяснение потопу..
Ответы
Несколько участников SuperUser ответили на вопрос. Джефф Этвуд предложил ссылку на блог Chrome Development:
Вы можете прочитать подробности здесь:
Google Chrome использует эти свойства и размещает веб-приложения и плагины в отдельных процессах от самого браузера. Это означает, что сбой движка рендеринга в одном веб-приложении не повлияет на браузер или другие веб-приложения. Это означает, что ОС может запускать веб-приложения параллельно, чтобы повысить их скорость отклика, и это означает, что сам браузер не блокируется, если конкретное веб-приложение или плагин перестает отвечать на запросы. Это также означает, что мы можем запускать процессы механизма рендеринга в ограничительной песочнице, которая помогает ограничить ущерб, если эксплойт все же произойдет.
По сути, каждая вкладка имеет один процесс, если только вкладки не принадлежат одному домену. У рендерера есть процесс для себя. Каждый плагин будет иметь один и каждый расширение, которое активно.
KronoS разделяет трюк для изучения процессов внутри Chrome вместо более загадочного диспетчера задач:
Вы можете увидеть, какой процесс делает что на:
Меню-> Инструменты -> Диспетчер задач
Который выглядит так:
Deizel предлагает помощь для визуальных учеников:
Не забудьте прочитать вводный комикс Chrome, который охватывает это среди других дизайнерских решений.
Любителям Chrome стоит прочитать весь комикс о Chrome, поскольку он объясняет многие другие варианты дизайна, связанные с созданием браузера. Это также просто весело читать.
Есть что добавить к объяснению? Звук выключен в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полным обсуждением здесь.