From Fedora Project Wiki

< QA‎ | TestPlans

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.

Activities include:

  • 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?


Image Creation

  • Overlay size
    • Currently 320 MB
  • Swap size
    • Currently 256 MB
  • Home size
    • Currently on NAND
      • This takes > 20 seconds to mount
  • Should we be resizing the filesystem image with resize2fs to make more space for things like /home?
  • Potentially add the ability to utilize extra USB keys to extend swap/overlay/home?

XO Memory

  • We have 256 megabytes
  • What can we turn off to give running applications more memory?


Service Run-level Changes

  • What services can we disable

auditd
bluetooth
cpuspeed
cups
iptables
ip6tables
irqbalance
kerneloops
netfs
nfslock
portreserve
rpcbind
rpcgssd
rpcidmapd
sendmail
microcode_ctl

  • Which services slow boot time
  • Which services use extra resources

Services are disabled in /etc/init.d/livesys. Turning off all the services listed above seems to save about 5 seconds during bootup.

GNOME Desktop Session Changes

  • What can we do to GNOME to reduce its footprint

Disable:
AT SPI Registry Manager -- gnome-at-session.desktop
Bluetooth Manager -- bluetooth-applet.desktop
GNOME Login Sound -- libcanberra-login-sound.desktop
GNOME Splash Screen -- gnome-session-splash.desktop
kerneloops applet -- kerneloops-applet.desktop
Network Authentication -- krb5-auth-dialog.desktop
Print Queue Applet -- redhat-print-applet.desktop
SELinux Troubleshooter -- sealertauto.desktop
User Sharing -- gnome-user-share.desktop

  • This can most easily be accomplished by adding the line "Hidden=true" to the end of the .desktop file for each of these services during startup. The desktop files are located in /etc/xdg/autostart and /usr/share/gnome/autostart

Kernel tunables

  • 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.
  • I/O Scheduler. Is CFQ unnecessary? noop might be best for an SD card.

Application tunables

  • What applications do we need to pay particular attention to


Firefox

  • File cache
  • Memory footprint