I noticed that in Chrome, it groups all the tabs into one renderer process, at least for me. This is a problem because that makes Chrome really slow from having 150k of RAM to sort through.
Is there some way to force it to make every tab a separate process?
According to Chrome documentation, there is a
For me, they have not yet solved the problem.
Here are a few links discussing the issue in further detail:
There is a switch statement that you can run (should be an option in the control panel for those non-CLI people) that forces a new process per tab, but after further reading and discovery, it doesn't actually force separate processes per tab per se.
Here is a link to the chromium discussion and design document supporting their design and architecture for the chrome browser and all chromium related process models. I'm guessing Android and Chrome OS fall under a similar type of design spec.
The switch's name is a bit misleading because it says to me "one process per tab", but in actuality it is one process per group of tabs with similar scripts, which is constantly being refined and merged into one giant leviathan of a process. Mine also get upwards of 500 to 800 MB. Nearly a gig of memory just for a single process. It slows my computer to a halt. More so, probably because all of that memory is getting paged out, but either way, if each tab were a separate process, at least the memory and paging operations would be different across the board, essentially distributing the load both on CPU and memory (including paging).
Chromium also supports a simpler model which dedicates one renderer process to each group of script-connected tabs
The open-source "chromium" project's words regarding the one-process-per-tab model:
"Chromium also supports a simpler model which dedicates one renderer process to each group of script-connected tabs."
There is a global limit to the number of renderer processes that Chromium will create. This prevents the browser from overwhelming the user's computer with too many processes. The limit is currently 20 renderer processes on most machines, and fewer on machines with small amounts of installed memory. As a result, a single renderer process may be dedicated to multiple sites. This reuse is currently done at random, but future versions of Chromium are likely to apply heuristics to more intelligently allocate sites to renderer processes.