Desktop Environments RAM use

As a result of a recent discussion on IRC, I decided to take a number of DE (Desktop Environments) for a test drive and see how much ram they used.

Test machine – Netbook with 2 Gb RAM

Method – This is a very casual test (sorry no “benchmarks”), I merely booted the appropriate Live CD, opened a terminal, and reviewed the RAM use. YMMV.

These results are simply using the default configuration as provided by the developers of the various distros and I made no attempt to tweak or adjust the RAM use.

Please keep in mind, RAM use is a crude measure of “performance”. The “responsiveness” of your window manager is dependent on a number of variables including graphics cards, desktop effects, and even sometimes a misconfigured or misbehaving wireless card. For example, on my netbook gnome-shell is using llvmpipe. llvmpipe comes with a noticeable performance hit on my netbook so while the ram use is similar to Unity, Unity gives much better performance.

Distros: I used the latest distros, even if they are in Alpha/Beta, so as to get the best possible video performance on my netbook (gma500_gfx).

I chose a range of distros to make the comparisons a little more interesting. I find XFCE uses about the same amount of RAM on Xubuntu as it does on Fedora (XFCE spin). They are at least in the same ballpark. Notice how Lubuntu (openbox + LXDE) and Crunchbang (also openbox) are “close enough”, at least for my purpose, at 165 vs 112 mb RAM.

40 Responses to Desktop Environments RAM use

:\ Mate takes up more than Cinnamon? Aren’t those mixed up?
BTW Why did you use the alpha Ubuntu instead of a stable one? (Not that there should be any significant differences, since Quantal is still in a very early phase.)

This is totally off-topic for the “Desktop Environments RAM Use” posting but…

I was reading your (excellent) IP Tables Primer. I’m a techie, but new to iptables, and your description is the best, by far. I had a couple comments:

I have been looking at iptables docs all over the Internet, and it’s really hard to find one that *clearly* specifies the relationship between tables and chains, and their relationship to the whole packet-handling process. (There are hints everywhere, but I couldn’t find a clear description of what happens to a packet when it arrives on your doorstep…)

1) Your note was the missing link, although I still had to make a mental leap. I think the step I was missing is the connection between the diagram at the top of the page and the triggering of each of the tables/chains. Is this description for the “Anatomy of iptables” correct?

—
Iptables is nothing more then a set of rules for processing network packets coming and going to and from your computer (firewall). These rules are organized into tables and chains. Each table (by convention, a lowercase name) has a number of chains (uppercase name). Each chain may contain multiple rules that determine how a packet should be handled.

A packet’s fate is determined by following the rules, one at a time, like links in a chain. The diagram at the top of this posting shows the sequence of processing.

As the packet arrives from the network, it is processed according to each of the ovals shown. The specified table is searched for a matching chain. If one exists, the packet is tested against each of the rules in that chain, and processed accordingly. The arriving packet then passes to the next oval, where that table is searched for a corresponding chain, and so on until the packet is either delivered or dropped.
—–

For me, the reassuring surprise is KDE usage against Unity and Gnome-shell … long it has been rumoured KDE is a memory hog but this clearly shows Gnome/Unity are not the leaner desktops they are made out to be.

You really can’t use Fedora and Crunchbang against the others since they are different base distributions. The best way to test this is use the same base distro (For instance, you can use K/L/Ubuntu 12.04, Mint 13, and Bohdi 2.0 since they are all based on the same Ubuntu 12.04 LTS). Fedora is generally a little lighter than Ubuntu and direct Debian based (Crunchbang) is most certainly lighter. I know this for sure because I can run Linux Mint 13 and Linux Mint Debian Edition with the same desktop environment and the Debian based one is always lighter by a good amount.

These comparisons are mostly meaningless, because different distros enable different features by default. The only comparisons that are meaningful in this list are the comparisons of multiple DEs on a single distro. That is, Fedora+KDE can be meaningfully compared to Fedora+XFCE. But not so Fedora+KDE and #!+Openbox.

I chose a range of distros to make the comparisons a little more interesting. I find XFCE uses about the same amount of RAM on Xubuntu as it does on Fedora (XFCE spin). The DE are at least in the same ballpark in terms of RAM use across various distros, the one that varies the most would be Gnome, as you can see between Unity (Ubuntu) and gnome-shell(Fedora) and Cinnamon (Mint).

@Rich Brown – Thank you for the feedback. The iptables tutorial grew out of a discussion we had at my LUG and has continued to grow as people like you are kind enough to give feedback. I updated the post and included your corrections. I included your description of iptables.

I reduced the memory footprint of Fedora 17 + Gnome3 by 100MB, by building a new 3.4 kernel. I just removed everything that wasn’t need on my box (look at lsmod). Gnome is still a pig, but this helped on my 1GB box.

thanks for the comparison which is interesting and as so many people
put thumbs down for Unity I was pretty sure it would be a memory pig.
Your article made me compare memory usage also – most interesting for
me – comparing my old Gnome 2 Ubuntu 10.04 with my new Gnome3 Unity
Ubuntu 12.04:

I have two notebooks with identical hardware (32-bit) – one is already
running 12.04 and the other is my older 10.04 installation. Both have
everything installed I need on my business laptop.

Login without any desktop app running (but e.g. MySQL Server running
which I need for testing purposes now and then as I am an IT
consultant and software developer):
Ubuntu 10.04 (Gnome 2): 454 MB
Ubuntu 12.04 (Unity): 309 MB

And of course usually Thunderbird and Firefox are the next apps to be
started (both having several plugins installed and activated). I
waited a few minutes until I investigated memory usage:
Ubuntu 10.04 (Gnome 2): 737 MB
Ubuntu 12.04 (Unity): 677 MB

Surprisingly Unity is consuming less memory (between 60 and 140 MB
less) than my older Gnome 2 desktop. So situation is now better than
before – compare this to a usual major upgrade of Windows which
usually requires a hardware upgrade anyway!

I also tried Lubuntu Live CD (134 MB) and Mint Live CD, Cinnamon
Version (211 MB) as well as Fedora 17 Live CD (309 MB).

Just a side note: I was a Fedora-User in the past but the Gnome 3
configuration in Fedora is just crap (Windows usability is better…).
If I would ever go back to Fedora than only XFCE-Spin (which I don’t
have downloaded yet).

Given the fact that I tweak my desktop a lot (less tweaking required
on 12.04 than on 10.04) – most tweaking done in
CompizConfigSettingsManager – the other alternatives consuming less
memory do not fit my needs regarding desktop features. So I am pretty
satisfied with my new 12.04 installation.

In my tests memory usage is pretty everywhere lower than in your
tests. Either updates improved or you were using a 64-bit netbook. ;-)

Interesting post. After reading I went and added Cinnamon to my Ubuntu 12.04 install. I think Martin Wildman said it perfectly: XFCE and LXDE just don’t have the desktop features I like. e17 is cool, but it’s never been stable enough for me. I had Gnome 3 extended like crazy, but Cinnamon is just the sweet spot for me in terms of features, easy customization and a desktop that stays out of my way.

I haven’t found it to be as low on memory use as you did, though. Mine seems pretty close to Unity at around 300 mb. Right now, with Chrome open on my work laptop, I’m hogging 1,400 mb. (got 4 gb here, so no worries).

Let me come back to this with another interesting experience:
I set up a new laptop (mostly needed because the virtual Windows machines with ECM software on them I need to test require _a lot_ more resources which I could not handle with my old one any more). Again exact same set of software, The autostarts running and Thunderbird + Firefox open – so comparable to these results:

Ubuntu 10.04 (Gnome 2): 737 MB
Ubuntu 12.04 (Unity): 677 MB

now on the new laptop, which has 16 GB RAM, Ubuntu 12.04 (Unity) uses 1.4 GB RAM.

This leads to the following assumption: You might experience different RAM usages depending on how many memory you have installed. So the old saying applies: YMMV (Your mileage may vary)…

Thanks for the interesting results. Very surprising to see Mint Cinnamon vs MATE. I would also be interested to see the Mint XFCE results, as well as Mint Debian Edition. I was actually ready to install a Mint XFCE on an old PC, and came across your site while preparing a boot disk. It made me consider installing Cinnamon instead of XFCE.

On Ubuntu 12.04 Mate was below 200 MB, and used less, then Cinnamon. But I made some modifications to Mate.
Just tried AntiX linux (wich uses debian repo) with fluxbox and replaced wallpaper (no other changes), 33 MB idle.. would be 32 MB without Conky running. (tested with Htop + Conky)

Another interesting distro is Slitaz. It’s built in web browser is tweaked, uses 10 MB with only one page opened. Others are around 30..45 MB with same page. You may surf the web with 64 MB EDO RAM.