Tuesday, September 8, 2009

Frugal configuration for an optimal performance Ubuntu Linux desktop

Further to the kernel reconfiguration done earlier, I continued my quest to make life better with the limited resources on my seven year old PC with just 512MB DDR RAM. These things helped reduce total memory consumption and thrashing:

Choosing leaner desktop environment
While fvwm was the leanest, it was provided crappiest user experience. More so after you are used to GNOME or Windows. I did not have enough patience to customize fluxbox to the nth degree to come up with an acceptable set. Using it with iDesk made life a bit easier; but still laborious to keep creating those icons for commonly used applications. I felt as if I had deprived myself of something. WindowMaker (WM) and Xfce provided more acceptable, closer-to-GNOME GUI in that order. Needed to add a taskbar and notification area using perlpanel under WM environment. The real turn-off with WM was its inability to properly show OpenOffice.org Spreadsheet. Though Xfce is not as lean as WM, it is still leaner than GNOME and yet provides almost similar functionality as GNOME. Interestingly, I found application response (GUI update) was faster with Xfce than even fluxbox!

Kernel tunable parameters
swappiness: reduced the default value 60 to 40. More memory available for applications and less greediness in dedicating it for buffers/ cache. Resulting in lesser swap out. I open multiple programs and my usage needs frequent switch between them; hence this choice. I read in [2, 3] that for I/O intensive applications, more aggressive value is recommended.

Useful references
  1. Reduce your Linux memory footprint
  2. 2.6 swapping behavior 
  3. Linux: Tuning Swappiness