After I install a new version of Linux, I usually take a good look at the screen. Does it have a task bar? Can I find my window after it was minimized? The direction some desktops are going is not clear. Making it easier for current users or for the people coming from Windows or Mac is not a goal anymore. User complains are dismissed, chalking it up to the fact that people don’t like change.
Fortunately, in Linux we have plenty of other choices, and we do like change. We have no need to keep using desktops we don’t like.
I will describe some of choices in this article, and I’ll attempt to measure the RAM memory requirements. I use free command in an xterm before and after the graphic environment is started on a separate X server (Xephyr). free command prints on the screen data made available by Linux kernel. The kernel knows at any moment how much memory is using and how many buffers are available.
The tool I use to set it all up is virtenv. It configures a Xephyr xserver running OpenBox in a Linux kernel container (LXC). I shut down OpenBox and install the new window manager or desktop environment. I run the WM/DE as it comes up by default, without any kind of customization. The container works in a separate filesystem, and it will not overwrite the real filesystem on my computer. The computer is an older 64-bit machine, running Ubuntu 12.04.
Joe’s Window Manager
JWM is a light-weight window manager for the X11 Window System. A small memory footprint makes it a good choice for older computers and less powerful systems. Barry Kauler’s excellent Puppy Linux is based on JWM.
You install it as sudo apt-get install jwm on Debian/Ubuntu, or as yum install jwm on Fedora. I takes about 3MB of memory to run.
This is a series of three window managers. BlackBox is the original, Openbox and Fluxbox are forks.
BlackBox is comparable to JWM, and loads in about 3MB of memory.
Openbox is rarely used stand-alone, it is however the window manager of choice in a number of other desktop environments such as Gnome, KDE and LXDE. It runs in about 7MB of memory. CrunchBang is and example of distribution based on Openbox.
Fluxbox is popular in many Live CDs such as Knoppix STD and GParted. It is currently the default window manager of PCFluxboxOS, Linux Mint Fluxbox CE and Salix OS Fluxbox. It runs in 16MB of memory.
Install them on Debian/Ubuntu as sudo apt-get install blackbox openbox fluxbox, or yum install blackbox openbox fluxbox on Fedora.
Dynamic Window Managers
A dynamic/tiling window manager adjusts the size and position of the windows so there is no overlapping and no space lost between them. This is in sharp contrast with the normal window managers which float and overlap windows. The distinction is not as strict today as it used to be, most modern tiling window managers can easily float windows. Some examples are dwm (1MB RAM), i3 (3MB) and awesome (9MB).
Install them as sudo apt-get install awesome i3 dwm on Debian/Ubuntu, and as yum install awesome i3 dwm on Fedora.
This is a beautiful desktop environment, the graphics just surpass everything else in this article. It is highly configurable and very fast. It runs in 35MB of memory in my tests.
Install it as sudo apt-get install e17 on Debian/Ubuntu, or as yum install e17 on Fedora.
The Lightweight X11 Desktop Environment was specially designed for computers with low hardware specifications, such as netbooks, mobile devices (e.g. MIDs) or older computers. In my opinion this is the DE that had the most to gain from Gnome 3 debacle. You can get today full major distros based on LXDE, such as Lubuntu and Fedora LXDE Spin. Usable and slim, LXDE runs on my computer in 36MB of memory.
Install it on Debian/Ubuntu as sudo apt-get install lxde, or yum install lxde on Fedora.
Xfce is a desktop environment based on GTK+ 2 toolkit. It aims to be fast and lightweight, while still being visually appealing and easy to use. Xubuntu and Fedora Xfce Spin are two of the distros featuring Xfce.
It runs in about 70MB of memory, which is a lot more than LXDE. Install it as sudo apt-get install xfce4 on Debian/Ubuntu, and yum groupinstall xfce on Fedora.
People use computers in different ways for different tasks. Window Managers and light Desktop Environments are sometime the only choice for less powerful systems or for places where every bit of memory counts (gamers, programmers etc.). In part 2 and part 3 of this article I look at some other window and desktop managers, including KDE, Unity and Gnome 3.
TinyWM, 9wm, miwm, wm2, dwm, Ratpoison, TWM, xmonad, JWM, i3, Blackbox, Sawfish, IceWM, PekWM, Openbox, Window Maker, awesome, FVWM, Fluxbox, Mutter, E17, LXDE, KWin, MATE, Trinity, XFCE, Cinnamon, Razor-qt, Gnome 3, Unity, KDE
- A Memory Comparison of Light Linux Desktops – Part 2
- A Memory Comparison of Light Linux Desktops – Part 3
- Lightweight openSUSE: LXDE Desktop From Scratch
- Lightweight Debian: LXDE Desktop From Scratch
Nice little write up on DE and memory usage. But why no mention of E17?
Thanks. I did try a few days ago the default E17 package from Ubuntu 12.04. It works fine on the desktop, and it is very fast. I would say it runs in less than 40MB of RAM, much less than XFCE.
The problem was I couldn’t get it to work under Xephyr xserver. I’ll compile it myself, pick up a new version if it is available, and try it again. It is definitely in competition with the rest.
Later: I’ve managed to get it running somehow, thanks!
and what about dwm?
I’ll give it a try, thanks.
What? No Wayland??
You need to check out Rebecca Black OS – it’s a Linux distro which comes packed with Wayland and not X11 at all. It would be interesting to know how this compares to the Xs.
Despite what Ubuntu say, Wayland may well be the future of Desktop Linux. It’s certainly going to be important on embedded Linux.
Thanks for this. I did my own comparison last night right before seeing this article, and it pretty much echos your results.
The only issue I have with JWM is that there’s no easy way to center all windows. With Fluxbox and Xfce4 you can. Ah well, time to get hacking on the source code, I guess. 🙂
You could make a pretty good argument that XFCE gains the most from the Gnome 3 “debacle.”
With the exception of Gparted, all the Fluxbox based distributions you mentioned are old versions for which the development seems to be stalled. One currently developed Fluxbox based distribution is Salix OS Fluxbox (though even that has a newer release of the XFCE version).
Incidentally, Crunchbang is a distribution with Openbox as the default desktop (with tint2 thrown in to provide a panel).
Thanks for your suggestions, I’ve updated the article.
Semplice Linux and CrunchBang also uses OpenBox.
Pingback: Gestores de ventanas ligeros: ¿cuál consume menos memoria? | AleQwerty Blog GNU/Linux
Pingback: A Memory Comparison of Light Linux Desktops |
Check out xmonad. It’s like DWM, but it’s easier to configure.
If I’m reading htop right, its RES is <5mb. I also use xmobar with it, which has a RES of ~8mb.
Somehow I run into some problems with it on Ubuntu 12.04, maybe it is an old version packaged.
What about awesome?
Unity and KDE are missing. 😉
I have to say I’m happy with the very minimalistic xmonad ( http://xmonad.org ) on my netbook. – another tiling wm.
how are you measuring? Are all WM’s compositing?
I’ll update the article with a short description. I am not sure about compositing.
free is not telling you the real story here. You are mapping GPU memory into real memory space. If you really want to know how much memory it takes, you need to figure out how much free space there is. The amount of free space is really about when the kernel makes a trade-off into swap.
The way I’ve done this is to write a program that progressively eats more and more ram (malloc, mlock). Then sync and drop caches, and run the memory eater. Count how much memory can be eaten before the system swaps. That is the baseline. Reboot and run the desktop before running the memory eater.
There will be noise. You should automate it and do several repetitions to filter out the noise.
This sounds like a lot of work, but this is the canonical way to know the truth.
Maybe these need to be updated?
Thank you for this article. Very interesting. If I may suggest another WM: i3 is my choice for more than a year now. sudo apt-get i3 will get you a slightly outdated version, but a comparison would still be interesting. (see i3wm.org for more)
Interesting write up, in particular it’s surprising how many of the “lightweight” managers are actually on the heavy side. I’d be interested to see what XMonad clocks in at, but I’d guess it’s probably similar to DWM. Are these measurements with the out of the box configurations under Ubuntu?
Xfce in particular was a shock to me. Couldn’t get xmonad working so far.
My computer is a regular Unity 12.04, where I’ve replaced Unity with LXDE and cleaned up a bunch of useless processes. I do the measurements under some sort of light virtual machine in Linux containers (LXC).
Pingback: A Memory Comparison of Light Linux Desktops | My Daily Feeds
Have you tried out xmonad or awesome? Or are tilling managers not in your scope?
I’ll try both of them.
Pingback: Links 21/3/2013:Ubuntu to Halve Support Length, Valve Share for GNU/Linux Climbs | Techrights
I’d suggest to add awesome wm 🙂
you could add for comparison reasons the “big” stuff like kde and gnome
Thanks. This is a very simple yet fascinating post.
Do you mind adding to your tests awesome window manager? I’ve used it in the past and is quite fast and lightweight, although it takes a while to get used to it, just like ViM, but once you learn how to use it, you start loving it 🙂
What happens with XFCE if you turn off the compositor?
Also, testing unity, kde and gnome3 would help, so we can compare how light the others are really. Thanks for doing this.
I’ll try to do unity/gnome/kde for comparison.
How do I turn off the compositor?
Under settings menu, there is: “Window manager tweaks”, the last tab is Compositor, there you can turn it off.
The compositor takes about 5MB more memory (the screen is 800×600). I assume my first measurement was without a compositor.
I’d love to see the stock window manages in this list.
Pingback: Linux News Watch | A Memory Comparison of Light Linux Desktops | l3net – a layer 3 …
Pity they are almost all just clones of the microsoft windows 95 interface, which is so yuck. xfce has loads of themes, although almost all are just blue with the microsoft layout.
A window manager is just part of a ‘desktop environment’, so the comparison isn’t entirely equitable .
Yes, but some people just install the window manager and don’t bother to put an “official” desktop environment on top of it. They end up running their programs directly in the window manager. In this case the comparison is valid, the window manager acts as a desktop manager.
“Openbox is rarely used stand-alone,”
I use openbox stand-alone and after a bit of initial effort, it is as usable for me as any full fledged desktop environment.
Openbox is an excellent choice to build a desktop. It is already integrated with dbus and dconf, which means you can go ahead and use on your desktop most applications from Gnome and KDE.
Have a look at ratpoison
Reblogged this on 57un.
Enlightenment developer life:
* Get bitched at for not releasing E17.
* Make release, continue seeing people use versions from years ago.
Thanks for the kind words 🙂
Thanks for E17!
You have forgot one of the most important detail: are you using 32bit or 64bit OS? 🙂
No, did not! 64bit OS.
Please add MATE and Cinnamon, these are also gaining popularity quickly.
I’m running MATE 1.4 on Linux Mint 14 and I’d really like to know where it stands. I’d say somewhere between Unity and XFCE.
Sure, I’ll look into it.
On i3 Sandy Bridge + built-in intel GPU + 4GB RAM (no swap) + SSD, heavy DEs use a bit more memory, but at the end it’s negligible and everything is instant; only Gnome3, Unity and Cinnamon weren’t instant when I’ve last tried them. And those three have consumed more CPU which was bothering me really as this would lead to heating and so noisier fans (though a regression in power handling in the kernel itself had a much bigger impact on this). KDE (without the Akonadi/Nepomuk/Activities etc. cruft) in my experience has seemed in this respect even better than Xfce, let alone the above three; and not heavier than the lighter WMs. Though all these observations are based just on Conky.
Where is Window Maker? It still lives! 🙂
Thank you for very informative post which helped me to find a replacement for Xfce4 in the form of i3 although I did consider E17 and evaluated razor-qt. 😉
FLTKwm and 9wm would be great additions to this list.
9wm runs in 0.4MB!!! Ubuntu 12.04 doesn’t seem to package FLTKwm.
Pingback: 「Linux デスクトップメモリ使用量の調査」が超大作でスゴイ | ソフトアンテナブログ
Pingback: Ambiente grafico più leggero | Nazion Linux
Pingback: measuring performance gain on procees
Pingback: How to define hotkeys in IceWM
Pingback: Show Notes #119 « Linux in the Ham Shack
How about monsterwm: https://github.com/c00kiemon5ter/monsterwm
It is dynamic and it is using less than 1MB of ram on 32bit system (to be specific, it uses 257.0 KiB).
I’ll take a look, thank you for your suggestion.
Pingback: 35 Unix 25.03 #3;4 | Arvutid ja arvutivõrgud
Pingback: A Memory Comparison of Light Linux Desktops | l3net – a layer 3 networking blog « UncleDan's Corner
Can you add wmfs for comparision as well?
This is my first time I pay a quick visit here and
I am atually impressed to read everthing in a single place.
Pingback: A #Memory #Comparison of #Light #Linux #Desktop...
Pingback: A #Memory #Comparison of #Light #Linux #Desktops | l3net.wordpress.com | # ! it’s #all about #performance… | gonzalosangil
Pingback: Window Manager Lineup | Kumpulan Artikel
Pingback: Desktop Environments – Choosing my favorite Linux GUIdes! | Lands of Linux
Pingback: 我與三個螢幕的奮戰歷程 - Reload « Jamyy's Weblog