Google Chrome brought with a completely new model for how a browser could work. Tabs that could be torn out of one window onto another, crashes that were no longer fatal, but limited only to a single tab or plug-in.
Google Chrome gave each tab and plug-in its own process to work in making sure that data from one could not leak to another and a crash in one tab or plug-in does not bring down the entire browser. Firefox on the other hand can be quite crash-friendly for some people and each crash can bring down all open websites.
There are many advantages to this approach, chief among them are stability and security, however memory usage is definitely a disadvantage. While it is often difficult to notice since it is spread across many different processes instead of just one, Google Chrome often uses much more memory than other browsers for the same tasks.
If to save memory, or for any other reason you want to turn off Google's amazing new process-per-tab-and-plugin model, you'll be happy to know that you can, and you have a level of control over how it works.
Change the tab process model
Google Chrome supports four process models, each of which change the way Google Chrome creates new processes when new tabs are opened. The default model of Google Chrome is called Process-per-site-instance. In this mode a separate process is launched for each instance of a website a user visits. So if you visit a website, and click on internal links in that website that open in new tabs, those tabs will be in the same process. However, if you open an external link it will open in a different process. Additionally, if you open another instance of the same site, it will open in a different process.
The three additional options available are:
In this process model, each site is opened in a different process, however multiple tabs that have pages from the same site open will share a process.
Command-line parameter: –process-per-site
In this process model, a new process is launched for each tab irrespective of the the site they are from.
Command-line parameter: –process-per-tab
In the single process model Google Chrome behaves like a traditional browser with each the entire browser and each tab running in the same process.
Command-line parameter: –single-process
You can learn more about Google Chrome's different process models here.
Other Chrome process parameters
In addition to changing how tab processes are created, you can also change how other parts of Google Chrome are segregated in processes.
Google Chrome by default runs each plug-in in a separate process. You can turn this off using the following command-line parameter:
3D WebGL content is also rendered in a separate Google Chrome process. Turn this off with:
NOTE: Turning on the single process mode will automatically run everything in the same process.
Needless to say, don't change the way Google Chrome works unless you have specific problems with it. However if you understand the risks and know what you are doing, Google Chrome is willing to accommodate.