Home  |   About  |   Energy  |   Politics  |   Software  |   Music

27 August 2013

Why I had to quit using Chromium

Firefox or Chromium, which is better? I like both, and have used both in parallel for years. Chromium's interface is slightly more appealing, lean and easy to use. But Firefox has all those useful extensions, most especially Firebug, and other utilities like BYM. I got used to do programming related stuff on Firefox, like web app debugging, and leaving the personal or recreational stuff for Chromium. I was quite happy with this, until one day.

In one of those much-longer-than-could-possibly-render-it-useful meetings I noticed the laptop battery being drained much faster than usual. On light work it can last up to 8 hours; with more intensive tasks and internet browsing it can still last 4 hours. This time in two hours the battery was empty. It was easy to find the culprit: a Chromium process was cannibalising the CPU at 100%.

I tried to find a reason, closing different pages, playing around with the settings. No matter what, after 2 or 3 hours running, the evil process would take up one of the CPU cores for itself. I hit the web and found out that since version 21 there have been persistent reports of similar issues from users. The problem is that those that managed to solve the issue also report the most incredible solutions, like deleting a splash screen or deactivating strange extensions. During this process I also learnt that Chromium developers do not seem to interact with the community.

I kept monitoring system performance, trying to identify why or when was this strange behaviour triggered. I ended up noticing something more worrying, when summed up together, the Chromium processes were taking up huge amounts of memory, sometimes more than 2 Gb. Often, after a full work day, the swap would be already expanding.

Although I can sometimes have plenty of browser tabs open, such memory usage is hard to justify; in comparison, a Winblows 7 virtual machine runs smoothly on 1.2 Gb. Thus I set out a test to understand if this was caused by the particular web pages I visit or by the software itself. A simple idea: on one day open a set of web pages on Chromium and on a second day do the same with Firefox, then compare resource usage of both at the beginning and the end of a working day.

And so I did. In both cases all the pages were open soon after boot, making sure all of them were fully loaded. I then resumed work, sometimes reloading these pages, other times opening new ones; at the end of day only the initial set of web pages could still be open.

This is the list of web pages used in the test. These are all places I'm likely to visit during a work day:



Here's a screen shot from the system monitor after loading these pages on Chromium:



In total the Chromium processes sum up to 1.4 Gb. The CPU is being constantly used at a minimum rate of 12%; regular spikes take it to 40%/50%, even with the Chromium window minimised.

After a day of work things look somewhat different:



Now the Chromium flock is using 1.8 Gb of memory and the swap is already beyond 0.5 Gb. CPU usage is still constant, even if slightly lower.

The following day the same thing with Firefox; here's how it looked like after loading the set of reference pages:



Just over 0.5 Gb of RAM, that's little over a third of what Chromium loaded for the same pages. CPU usage is also permanent, even with the window minimised, but it is constant at 4% and no spikes appear.

And at the end of the day:



Firefox hiked memory usage by 80%, but it is still using less than half of what Chromium was taking up by the end of the day. CPU usage is where it was at the beginning.

In summary, it seems that both programmes do not manage memory optimally, apparently leaving allocations behind after closing web pages. Chromium takes up far more resources than Firefox, memory in particular is used in large volumes, far more than any other programme.

I work on a laptop with a four core CPU and 8 Gb of RAM, still I need to use a plethora of different software plus a few virtual machines. I simply cannot afford to run a programme that takes up resources like Chromium. Beyond that, when travelling Chromium is absolutely prohibitive.

For a month now I've only been using Firefox. I no longer notice the swap swelling and some issues when switching between windows and workspaces are gone, especially when virtual machines are involved.

I'll likely try new versions of Chromium as they come, but for not it will stay off.