Firefox & Iceweasel Memory Madness – Beware of Geeks Bearing Gifts, Part 1

I was happy for a while with the fix here, but my solution now has simply been to install the Google Chrome browser. This has vastly better memory and process management compared to other browsers. It has a custom built Javascript engine and, crucially, a custom Flash plugin. Everything is much faster, even on my low memory Asus EeePC 701 ! This may not suit open source purists, but the problems with Firefox have not really been their fault. I would say that it has been Adobe’s reluctance to work with open source that has crippled browsers like Firefox up until now. This may eventually be solved by the onward march of HTML5 which will eventually replace Flash (for example the HTML5 YouTube player).


(Update: I foundthis add-on, UnloadTab, which does exactly what the Android Browser does – unloads unused tabs from memory but keeps the tab markers there – BINGO !)

As this blog points out …

Can you believe that you can crash any linux machine with a web page displaying stamp size images, while an iPod can display it without an glitch?

This is exactly what I found on my EeePC, while on my Android phone the browser, on the most part, properly manages pages with hefty content. On the Eee I ran into massive swap file thrashing paralysing my entire system ! On my PC Firefox/Iceweasel is using system memory that should be available for other applications. Why is this so ? Listen …. “Beware of geeks bearing gifts”. There are some profoundly bad decisions/assumptions going on in developer land …

1. The user has an enormous PC as big as their house with a squadillion number of Gigabytes.

2. Even if the user has that much memory its OK for us to use it because, hey, they are only running OUR application right ? (this is after decades of having multitasking operating systems, insane!).

So it was with some annoyance that I had to fight my way through numerous developer obfuscations, the classic being the old “you need to upgrade your memory” … Er, excuse me ! I think it is YOU who is using up my expensive memory thankyou very much ! To this solution …

At the command line: “export set MOZ_DISABLE_IMAGE_OPTIMIZE=1”, then “iceweasel” or “firefox”, or add “export set MOZ_DISABLE_IMAGE_OPTIMIZE=1” to “/etc/profile” or “~/.profile” if you want to keep the setting permanent.

Now my Iceweasel does not bring my EeePC 701 to it’s knees. If you want to see what is going on here is the background. Using “xrestop” you can compare loading a large page of images before and after setting “MOZ_DISABLE_IMAGE_OPTIMIZE=1”. The difference is insane ! Before applying the fix, large pages of images generate HUNDREDS of megabytes of memory. Afterwards there are, at maximum, only a few tens of megabytes.

Compared to Android operating system behaviour, I question many of the decisions going on in the desktop world. I had a Linux user telling me that Android is “not real Linux” whatever that means. It’s heavily modified by Google of course but its an interesting project. More so, where is the innovation going on in Linux/Desktop world ? We are stuck about 15 years ago in this horrible “window manager” paradigm. When will the smartphone, touchscreen revolution in simple accessible usability, catch up with desktop Linux ? Why can’t I start up an OpenGL web browser and be two touching web pages, zooming in and out and flinging pages off into a “pile” in the corner for later reference ? In fact why is the entire “desktop” not running on an OpenGL touch aware, WWW paradigm based environment already ? I’m surprised the success of Android has not shaken up the desktop market much more than it has. There must be a lot of secret bedroom projects going on out there !

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s