From Fedora Project Wiki

< QA‎ | TestPlans

m (Moved intro from Test Plan)
(remove avahi-daemon disabling as it's necessary for collaboration)
 
(17 intermediate revisions by 7 users not shown)
Line 10: Line 10:




= Service Run-level Changes =
= 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?
** This would give us the ability to move /home off NAND, have a bigger overlay, or more swap.
** Patch sent to Jeremy to do this <http://bressers.fedorapeople.org/livecd.patch>
* Potentially add the ability to utilize extra USB keys to extend swap/overlay/home?


What system daemons are started that aren't needed? For example, bluetooth ... there is no bluetooth hardware on the XO.
= XO Memory =
* We have 256 megabytes
* What can we turn off to give running applications more memory?


= GNOME Desktop Session Changes =


= Kernel tunables? =
= Service Run-level 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.
* What services can we disable<br>
'''auditd'''<br>
'''bluetooth'''<br>
'''cpuspeed'''<br>
'''cups'''<br>
'''iptables'''<br>
'''ip6tables'''<br>
'''irqbalance'''<br>
'''kerneloops'''<br>
'''netfs'''<br>
'''nfslock'''<br>
'''portreserve'''<br>
'''rpcbind'''<br>
'''rpcgssd'''<br>
'''rpcidmapd'''<br>
'''sendmail'''<br>
'''microcode_ctl'''<br>
* Which services slow boot time
* Which services use extra resources


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


Replace firefox with something more light weight?
= GNOME Desktop Session Changes =
* What can we do to GNOME to reduce its footprint


Looks like epiphany might save a little memory:
Disable:<br>
'''AT SPI Registry Manager''' -- gnome-at-session.desktop<br>
'''Bluetooth Manager''' -- bluetooth-applet.desktop<br>
'''GNOME Login Sound''' -- libcanberra-login-sound.desktop<br>
'''GNOME Splash Screen''' -- gnome-session-splash.desktop<br>
'''kerneloops applet''' -- kerneloops-applet.desktop<br>
'''Network Authentication''' -- krb5-auth-dialog.desktop<br>
'''Print Queue Applet''' -- redhat-print-applet.desktop<br>
'''SELinux Troubleshooter''' -- sealertauto.desktop<br>
'''User Sharing''' -- gnome-user-share.desktop<br>


  USER      PID %CPU %MEM    VSZ  RSS TTY      STAT START  TIME COMMAND
* 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 startupThe desktop files are located in /etc/xdg/autostart and /usr/share/gnome/autostart
  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


versus
= 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.
  USER      PID %CPU %MEM    VSZ  RSS TTY      STAT START  TIME COMMAND
* I/O Scheduler.  Is CFQ unnecessary?  noop might be best for an SD card.
  liveuser  3740 18.5 15.9 148828 37216 ?        Sl  11:11  0:10 epiphany
 
= Image Generation =
 
== Overlay Storage ==
 
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.
= Application tunables =
* What applications do we need to pay particular attention to


== Swap space? ==


If you need to add swap after booting your XO, I've been using the following commands:
== Firefox ==
* File cache
* Memory footprint


  # mount /dev/live /mnt/live
[[Category:XO]]
  # dd if=/dev/zero of=/mnt/live/swap.img bs=1024 count=256000
  # mkswap /mnt/live/swap.img
  # swapon /mnt/live/swap.img

Latest revision as of 20:26, 23 June 2009

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