Memory Hog Chrome Gets Slower and Slower: A Workaround

Chrome is a very fast browser when it starts. But Chrome is a memory hog. After several hours of consuming ever more memory, Chrome gets slower and slower. Here is both an explanation and a workaround.

Chrome is a memory hog because of the way it handles auto refresh on sites such as Gmail, Google Finance and Google Reader. Windows users who monitor memory with the Windows Task Manager can see how the memory increases each time a tab is manually refreshed, or automatically when there are one or more open tabs which auto refresh. I suspect that Chrome does not release caches from refreshed tabs until they are closed—at least not on any of my Windows XP SP3 systems.

There are several workarounds for this issue. The most drastic is to close Chrome and then reopen it. This is time consuming if you need to log back in to several sites. A slightly less drastic alternative is to purchase more RAM. Here are two methods I use that are not so disruptive. Both involve closing and reopening tabs:

Method 1: When Chrome slows down, close all but one tab then reopen them all

  1. Type Ctrl-W repeatedly to close all but one tab.
  2. Type Ctrl-Shift-T repeatedly until all tabs are back open. This will reopen up to 10 previously closed tabs.

Method 2: (Only works on Chrome 5) Keep most pinned tabs closed so that Chrome never gets slow

  1. Pin all auto refreshing tabs which you plan to keep open throughout the day. Tabs can be pinned by right-clicking on the tab and choosing “Pin tab.”
  2. When you are done using a pinned tab, close it with Ctrl-W. Notice that the favicon becomes dim, a “Phantom Tab.”
  3. When you need to use the closed tab, simply click on the dimmed favicon, and it will open back up. Chrome is so fast, that this will usually take less than a second.

I find dim favicons less distracting than bright ones so for that reason I prefer the second method.

Chrome’s memory management issues complicate what is otherwise a terrific browser, whose merits I describe here. Firefox has more efficient memory management, so may be more suitable for memory constrained systems. Chrome otherwise suits my needs better than the competition so I’ll continue using it with the workarounds described above.

UPDATES:

Chrome 6 rolled out on September 2 and eliminated dimmed favicons (also called “phantom tabs”) which destroyed method 2 described above.

Google Chrome has a voting system for bringing back terminated features. Just visit the link below and click the star if you want Phantom tabs to come back:

Phantom Tabs Always

Since Chrome 8 (12/2/10), plug-ins can be turned off by default and selectively enabled, which seems to reduce memory leaks. I provide details on how to enable this here.

There is also now a way to “purge,” which reclaims a portion of leaked memory in Chrome 8 and Chrome 9. Lifehacker explains how to set up and use the purge feature, here.

Chrome 10 rolled out March 8, 2011. I reviewed all five major browsers a few days later. I briefly noted that Chrome 10 is a little better with memory management than prior versions. To elaborate: it appears to me that memory leaks for auto refreshing web apps happen at a much slower rate or on some pages not at all. Also, closing tabs seems to reclaim a bit more memory than it used to. The net effect of this for my particular usage pattern is that a fresh install of Chrome on a system with 1GB of RAM can last 2-5 hours without needing to be restarted, as opposed to 1-3 hours previously.

For those who love phantom tabs so much that they’re willing to change browsers, note this Firefox add-on: Tab Utilities. The behavior of “pinned, unloaded tabs” appears to be identical to the behavior of pinned tabs in Chrome 5 that turn into Phantom tabs when closed. For a more complete description of how pinned tabs work in Tab Utilities, read here.

Filed in category: Browsers and the cloud.

3 Comments

  1. August 27, 2010 at 8:57 AM

    For a detailed explanation of how memory management works with Chromium (the code base for the Chrome browser), see here:

    http://www.chromium.org/memory-usage-backgrounder

    Reading through the explanation, the implication is that a multi-process browser like Chrome will always take up more memory, and most especially with JavaScript-heavy sites that frequently refresh themselves. Interestingly, the idea of closing all but one tab then reopening them all is stated to be a way to purge memory more efficiently than a single process browser (such as Firefox).

  2. a Linux user
    November 8, 2010 at 5:52 PM

    Chrome is a big memory hog comparing with FF, no doubt about it. Why one would want to use all the processors? It’s just a browser, not a game machine. Currently other than downloading something, there’s no need to run something in the background with a browser. Does average Joe play multiple youtube clips at the same time?

  3. Jim
    February 1, 2011 at 10:14 PM

    A better solution would be to use a better browser. I switched from Chrome when I discovered a google analytics opt-out plugin for Chrome was running its own process! Sure, RAM is cheap, but that’s not the point.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>