Here are some tips to optimize armhf on your EfikaMX to maximize performance and at the same time free up memory from the system. The EfikaMX is a great little machine -strange as it may seem I use it as my main system, both for development and for daily tasks, except for heavy compiling. Unfortunately it only has 512MB of RAM which when running a DE like Gnome and a browser like Firefox/Iceweasel can go away pretty quickly.

So I have worked on some tips which reduce memory usage. I use all of these tips myself which helped me reduce RAM usage by more than 200MB!

0. Use ramzswap

It's a must, so I put it here. If you use Genesi's kernel, ramzswap is already included so it would be a shame not to use it. Just add these lines to the end of your /etc/rc.local (before the exit of course) :

modprobe ramzswap disksize_kb=262088 # we use half of the available physical RAM as compressed swap, which works great esp when using programs like iceweasel swapon -p 0 /dev/ramzswap0

1. Replace getty with ngetty.

Ngetty is a single-process getty replacement, so instead of running 6 getty processes consuming 3MB of RAM each, I run only a single ngetty process using 2MB of RAM total. Saves: 16MB RAM. Note: unstable ngetty suffers from (614049) so you should rm /etc/rc*.d/S25ngetty.

2. Replace gdm/kdm/lightdm with slim (or nodm)

slim is a very lightweight login manager, even lighter than lightdm, it only uses 8MB of RAM here. nodm is even better but you'll miss the user login. Saves:

3. Replace Network-Manager with wicd (optional: if you use wifi)

Network-Manager (or rather nm-applet) uses ~200MB of RAM -don't ask me why- so it clearly is one problematic package. I removed it in favour of wicd. In comparison wicd-gtk uses only 36MB of RAM. Saves: 160MB RAM!!! On Efikas with static ethernet connection, remove/disable Network manager entirely, use /etc/network/interfaces instead.

4. Use XFCE4 instead of GNOME/KDE.

Sadly they use way too much memory for my liking, I may live with it on my amd64 system but not on the Efika. However XFCE4 works great and is very fast on the Efika. Just apt-get install xfce4 xfce4-goodies (if you want the plugins) xfce4-terminal (though we'll show a replacement for that soon!).

If you have different DEs installed on your system you can select XFCE4 using the following commands (as root)

# update-alternatives --config x-session-manager # update-alternatives --config x-window-manager

and select xfce4-session and xfwm4 resp.

Alternatively you could setup your .xsession files.

Saves: LOTS of RAM (estimate, more than 100MB on system load). Another alternative might be razor-qt window manager -still not in Debian though, but looks very promissing. For the more hardcore, openbox and awesome would provide an even better experience.

5. Don't use gnome-terminal/xfce4-terminal, use lxterminal instead.

If like me you only care for a terminal that can display UTF8 output, has antialiased fonts and multiple tabs -basically a stripped down gnome-terminal- then lxterminal is exactly that. It uses the same VTE engine that the other 2 are using but is 80MB ligter than xfce4-terminal (with 6 tabs open). lxterminal uses 100MB of RAM with 6 tabs, vs 180MB for xfce4-terminal and slightly more for gnome-terminal. To be honest I didn't try konsole as it is still buggy on armhf, so I don't have a direct comparison to that. Saves: 80MB! Alternatively, if you don't care about UTF-8 text and antialiased text, you could even run urxvt or even plain xterm, which would save even more RAM.

6. Do not run gmail inside iceweasel/other browser, it consumes TONS of RAM, use a proper mail client instead.

In my case with 3 gmail tabs open iceweasel consumed ~500MB of RAM making the system almost unsusable. Ignore thunderbird/evolution/kmail as they are memory hogs as well, use mutt if you use console or sylpheed if you like GUI clients -I use the latter myself and it's perfect! Sylpheed uses 120MB of RAM and handles all 3 gmail IMAP accounts plus my normal POP mail and is rock solid. Iceweasel without the gmail tabs, consumes ~300MB. Saves: ~100MB.

7. Disable extensions in Iceweasel,

I found out that gmail manager extension only consumed more than 50MB alone! With mail handled in sylpheed now, I got an extra 50MB freed.

8. Use pidgin instead of empathy.

For some weird reason, pidgin is much faster than empathy and consumes more or less the same RAM with empathy. No clear choice there, but to me it just feels much faster.

9. Use xchat plain instead xchat-gnome

It's faster and uses less RAM.

With all of those, my OS boots into straight XFCE4 desktop faster than GNOME and it "only" consumes 290MB of RAM with lxterminal running with 5 tabs, xchat and pidgin running and a couple of xfce plugins (weather, clock, window manager, desktop switcher) providing more or less the same functionality I had in a gnome desktop. Comparing to my previous Gnome desktop, I saved more than 150MB of RAM and the system just feels responsive and fast. And I don't miss GNOME functionality at all.