Задав этот вопрос, я пришел посмотреть эту статью ( Многопроцессная архитектура Chromium ), и он ответил на мой вопрос (1).
Когда Chrome решает появитьсяновый процесс?
Как только Google Chrome создаст свой процесс браузера, он, как правило, создает один процесс рендеринга для каждого экземпляра веб-сайта, который вы посещаете.Этот подход направлен на то, чтобы страницы разных веб-сайтов были изолированы друг от друга.
Вы можете думать об этом как об использовании разных процессов для каждой вкладки в браузере, но позволяющих двум вкладкам совместно использовать процесс, если они связаны между собой.друг другу и показывают один и тот же сайт.Например, если одна вкладка открывает другую вкладку с использованием JavaScript или если вы открываете ссылку на тот же сайт в новой вкладке, вкладки будут совместно использовать процесс визуализации.Это позволяет страницам на этих вкладках общаться через JavaScript и обмениваться кэшированными объектами.И наоборот, если вы введете URL-адрес другого сайта в строку адреса вкладки, они будут заменены новым процессом визуализации для вкладки.
Они накладывают ограничение на количество создаваемых ими процессов визуализации.(как 20 в большинстве случаев).Как только они достигнут этого предела, они начнут повторно использовать существующие процессы рендеринга для новых вкладок.
В чем преимущество запуска вкладок под другим процессом?
Google Chrome использует эти свойства и помещает веб-приложения и плагины в отдельные процессы из браузера.сам.Это означает, что сбой движка рендеринга в одном веб-приложении не повлияет на браузер или другие веб-приложения.Это означает, что ОС может запускать веб-приложения параллельно, чтобы повысить их скорость отклика, и это означает, что сам браузер не блокируется, если конкретное веб-приложение или плагин перестает отвечать на запросы.Это также означает, что они могут запускать процессы механизма рендеринга в ограничительной песочнице, которая помогает ограничить ущерб, если эксплойт все-таки произойдет.
Интересно, что использование нескольких процессов означает, что Google Chrome может иметь свой собственный диспетчер задач (показанный ниже),который вы можете получить, щелкнув правой кнопкой мыши на строке заголовка браузера.Этот диспетчер задач позволяет отслеживать использование ресурсов для каждого веб-приложения и плагина, а не для всего браузера.Он также позволяет убивать любые веб-приложения или плагины, которые перестали отвечать, без необходимости перезапускать весь браузер.