If you’ve ever peeked into the Task Manager while using Google Chrome, you might have been surprised to see that the number of chrome.exe entries was radically greater than the number of actual Chrome windows you had open. What about all those processes?
Why multiple processes?
Modern websites are quite complex – they have tons of “moving parts” that communicate with each other and with the user. Increased complexity means that the demand for your computer has also increased.
You may have noticed that Google Chrome often has more than one process open, even if you only have one tab open. This happens because Google Chrome intentionally separates the browser, rendering engine, and plugins by running them in separate processes. The browser part of Chrome is the part that actually handles traffic to and from the website. The rendering engine — formally called Blink — interprets the code running on the website and displays the human-friendly version. Plugins, such as Java, add extra functionality to the browser. But why do they divorce?
As it turns out, separating them offers many benefits that can be roughly divided into three categories.
Websites are complicated and the more complex a website is, the more things can go wrong. If something does go wrong, it often results in a crash. If everything is running within one process, a crash on one page will cause your entire browser to crash. At worst, you could lose hours on a project. At a minimum, you need to restart your browser and reopen all your tabs.
Isolating each tab in its own process, and even some parts of individual web pages, means that a site or plug-in crash won’t shut down your entire browser. You can just kill the broken tab instead of having to completely restart Google Chrome.
RELATED: How to Troubleshoot Google Chrome Crashes
Originally, computers had only one central processing unit (CPU) and one core. That meant they could only do one operation at a time, they were so fast they seemed to be doing several things at once.
The processors found in modern computers are quite different from their single-core grandparents. Most modern CPUs have multiple cores, meaning they are capable of performing as many operations simultaneously (often described as “parallel”) as they have cores. The CPUs found in home computers and mobile phones regularly have between four and sixteen cores.
By splitting the functions of Google Chrome into multiple processes, you can easily take advantage of a larger number of cores. Instead of burdening one CPU core with twenty Chrome tabs, you can split the processes across multiple cores.
Many hands make light work; many cores allow for faster browsing.
RELATED: CPU Basics: Multiple CPUs, Cores, and Hyperthreading Explained
Running everything in separate processes also makes it easier to protect your computer from malicious code running on a website. Every instance of the rendering engine in Chrome is sandboxed, meaning it’s largely isolated from the rest of your system and even other tabs open in Chrome. All the traffic from the rendering engine is closely monitored by the browser, making sure nothing suspicious or nefarious ends up on your system.
The setup isn’t perfect – zero-day exploits are notorious for rolling right out of sandboxes – but it does go a long way in protecting you.
RELATED: What Is a Zero-Day Exploit, and How Can You Protect Yourself?
View ongoing processes
You can see the details of the processes by opening the Google Chrome task manager. In Chrome 99, you can open it by clicking the three dots in the top right corner and going to More Tools > Task Manager.
If you want to read a little more about how Google Chrome works under the hood, you can check out Google’s Chrome Comic. This is the segment that is relevant to Chrome’s multiple processes.
The entire Chrome comic is worth a read for Chrome fans as it explains many other design choices involved in the browser’s production.