Google Chrome starts up way faster than Firefox on every system I have. Not to mention, it just seems to be faster when all I am doing it surfing. But, there are two major concerns for me about Google Chrome’s system usage.
The first one is the [high amount of hard disk drive usage](/tools/Google Chrome System Resources Use On Windows). The second one is the constant stream of memory that seems to be used by the browser.
Google’s Chrome browser spawns a new process for each tab you open. That is by design. The idea is that no one tab can crash the rest of your browser. This is good. This is what Windows is supposed to do with the whole CTRL-ALT-DEL thing. Theoretically, you can terminate the errant process and leave everything else intact. This works for the most part, but really poorly coded programs can get their hooks in a little too deep and take down threads or processes that other programs need, so it is a partial success. None of the other browser work this way. If an ill-coded website takes down one tab in Firefox, Firefox crashes and restarts the whole thing. Luckily, Firefox saves your tabs. Pretty much the same thing happens for Internet Explorer and Opera.
The concerning thing is that each and every one of those processes takes up memory. This is not a big deal if you have four tabs open, but if you are in power research mode, and you have twenty or thirty tabs open, this can be concerning, especially if your computer is supposed to be doing something in the background while you are running your browser.
Shared Memory vs. Private Memory
Apparently, I’m not the only one who has squinted their angry eyebrows at the list of processes and memory usage in Windows Task Manager or Process Explorer. A posting at the Chromium developer blog reveals the existence of a memory usage tool inside Chrome, and Chromium. Typing about:memory in the address bar brings up Chrome’s own memory usage reporting page.
This page provides a lot of useful information. First, it breaks out the memory usage for Chrome itself, versus memory usage for the pages you are looking at. This is useful because it shows who is responsible for the resource usage. With a handful of tabs open, we can see what tabs are taking up the most real estate memory-wise. Interestingly, enough, the biggest memory user out of my current operations is the Flash player! Can’t really blame Chrome for that one.
The main thing the Chrome developers want you to notice is the difference between private memory and shared memory. The concept is that the private memory is being used soley by the Chrome browser whereas the shared memory might be something that is used by more than one process. This is particularly important for a multi-process browser like Chrome because each tab re-uses a lot of the same things. For example, bookmarks are not just used by one Chrome tab, so double counting that memory against Chrome overall isn’t accurate.
For now I am satisfied with Chrome’s memory usage and explanation. I am still looking into the hard drive thing, though I’m betting it has something to do with the near infinite number of time the Chrome Updater seems to run. More on that later.
Also, I’ll be looking out for a reference list of what else is available like about:memory…