The XO is a low resource environment. There isn't much room to spare for extra memory or compute cycles. This page will be used to identify applications, services, packaging, and kernel tunables that can be modified to improve XO system performance.
- Identifying/testing various service configuration settings
- Making recommendations for Live CD spin kickstart changes to reflect findings
- Kernel tunables?
- Recommended SD installation options?
- Recommended boot-time options?
- Improved desktop performance?
Service Run-level Changes
What system daemons are started that aren't needed? For example, bluetooth ... there is no bluetooth hardware on the XO.
GNOME Desktop Session Changes
- I haven't actually tried this yet, but should look at /proc/sys/vm/swappiness which defaults to 60. Setting to 0 might be best to do as little pre-emptive swapping as possible.
- There is no swap on the XO's default Fedora build. One can install compcache to use compressed swap-on-RAM, and in that case setting swappiness *higher* might be better. mtd 19:38, 16 October 2008 (UTC)
Replace firefox with something more light weight?
Looks like epiphany might save a little memory:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND liveuser 3678 0.1 0.5 4804 1264 ? S 11:08 0:00 /bin/sh /usr/lib/firefox-3.0.2/run-mozilla.sh /usr/lib/firefox-3.0.2/firefox liveuser 3695 31.5 18.5 162356 43436 ? Sl 11:08 0:34 /usr/lib/firefox-3.0.2/firefox
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND liveuser 3740 18.5 15.9 148828 37216 ? Sl 11:11 0:10 epiphany
Using the --overlay-size-mb parameter to the livecd-iso-to-disk script is recommended for 2 reasons.
- Any changes to your live image are saved to the SD card (instead of memory). These changes will remain upon reboot.
- It improves performance because there ends up being less memory pressure.
A potential drawback might be that more writes are happening to your SD media, which may lower the life expectancy of the SD media.
If you need to add swap after booting your XO, I've been using the following commands:
# mount /dev/live /mnt/live # dd if=/dev/zero of=/mnt/live/swap.img bs=1024 count=256000 # mkswap /mnt/live/swap.img # swapon /mnt/live/swap.img