Google Chrome! Stop eating my RAM :(

We all use Google Chrome and most of us love it since it was launched way back in 2008 by Sundar Pichai. Since then, Google has improved bloated it alot! It used to be a lightest and fastest out there. But with Google’s mission to cram all the stuff in chrome for it’s services with loads of extensions and background syncing with your Google account, well now, as sad as it makes me say:

“GOOGLE CHROME SUCKS….sometimes!”

Gulp!!

At my office, I have a Dell Precision T1700 Tower which is loaded with 16 gigs of RAM and all goodies an engineer wishes for in his machine. But, guess what, just don’t restart that machine for a day or two and keep Google chrome running, it will slow down the machine to the painful nostalgia memories of a Pentium 3 system struggling to run GTA San Andreas on Windows XP 🙁

Google Chrome suffers from memory leak which will keep gobbling up your ram in background like a troll feeding up the attention on web. I don’t exactly know why they are not fixing it as a lot of tech-bloggers have complained about the same and moved back to good ol’ firefox. If you one day by mistake open the Process tab in Task manager, you will be boggled by the sheer number of “Google Chrome.exe” processes running in background and hogging your memory. In the screenshot of my task manager below, I counted 27 processes running for Chrome running 10 tabs taking close to 2.3gigs of RAM. THATS CRAZY! :O

Chrome chrome everywhere!

Now why would you want to see my Tabs detail 😛

Let’s understand what’s happening here..

Despite Google’s strong will to bloat up the chrome, user’s behaviour also matters in the usage. In the second screenshot above, you can see I have installed a lot of crazy extensions. We don’t appreciate the ease of use these extensions bring with them and as they are always available on user on instant, it means they will have to be kept in RAM to make the process seamless. Also, web browsing has become more complex than we give it credit for. Almost all the content we consume is dynamic, whether it’s Facebook’s timeline or Twitter’s feed, they are continuously pulling data into the browser for you which means background processing and more RAM.

Great thing is, Chrome from the start, separates each Tab, Extension and Plugin into it’s own individual process, which means if let’s say Flash plugin crashed while watching a Video, then only that respective Tab will become unresponsive but rest of the tabs will continue to work seamlessly which again can lead to higher memory (aka RAM) consumption, since it has to duplicate some tasks for every tab opened. Granted, it also makes things a lot more convenient! 😉

Also, you must have heard about Chrome Prerendering feature. Well, it’s an interesting one as when you open a page, Chrome tries to predict what links you might click, preparing them to load instantly for you.

For example:

When you’re surfing a blog, you might click “next” when you’re done reading the article. The blog can tell Google Chrome to pre-load the “next post,” so the page is shown instantly when you click it.

When you’re typing a web address in the address bar, Chrome will begin to prerender that page if it’s confident about which site you’re likely to visit (based on your local history). This will make the page show up faster when you hit enter.

As intriguing as this feature may look like, Loading pages instantly means that it will be downloaded in background and kept in RAM to fetch as soon as you click. It may be a great feature if you read few blogs regularly and have a good internet connection but overall this leads to significantly higher usage of RAM as if you have multiple tabs open (>10), it may choke Internet bandwidth.Refer here for technical details.

So, what happens when you close Chrome is, some of these extensions and tabs are not cleared properly from the RAM leading to memory leak which worsens day by day if system is not restarted which led to a perfectly spec’d machine to lag. 🙁

The RAM Eater..

So yes, Chrome does uses a lot of primary memory(read: RAM), but most of the times, it does so with a reason: your convenience. Most of us have become accustomed multiple tabs with web 2.0 content and fast page loading, and the price we pay is measured in gigs of RAM. But surely, I agree that Chrome can use alot of memory optimization but this is likely how the web browsing is going to evolve.