Fedora 7 performance issues


I've upgraded pretty much all my systems, both at home and at work, to f7 now.  I'm not completely pleased with it – the issues with the intel driver on my laptop are still a problem.  But something that is more prevalent across all machines is general, perceived performance.  I believe the perception of degraded performance is desktop related – gnome is getting bulky.  That's the problem when you want world domination – the world is full of idiots and you're trying to make the complex easy to use, so you add more code. 

Well, ignoring my pulpit for a moment, I did a little research on trying to improve the performance of the system.  The kernel itself – 2.6.22 after updating F7 to the latest patches – is likely fairly well configured.  The CFQ scheduler is the default scheduler for fedora kernels, so that should help.  It appears that SMP is enabled by default in these kernels as well (they've dropped the separate SMP kernels apparently, or at least I don't see any non-SMP kernels).  That's fine for my systems at work which have multicore processors but at home I've got nothing but single core processors.  So I might want to look at rebuilding the kernel for non-SMP support. 

Processor specific support may help some here as well, but I'm not quite sure what specifics the hardware might have that can be added.  I've got Xeon's, P4's, AMDs and VIA processors and with the exception of the VIA (Nehemiah) I'm pretty sure there isn't much I can do to squeeze better performance out of the stock F7 kernels.

General OS configuration can be cleaned up, starting with the enabled services.  Few desktop users are still using sendmail, so turn that off.  And I'm not really clear why I need nasd, the network sound daemon.  kde apparently uses it, but does GNOME?  So far, I can see now problems with disabling it.  I found a very useful web page for describing what all the services are.

One other trick I found is to reduce the default "swappiness" of the kernel.  The sysctl variable vm.swappiness is set to 60 by default (run sysctl vm.swappiness).  This value ranges from 0 to 100 and tells the kernel what weight it should put in whether to swap to disk or try to run from memory.  The default value is fine for 256MB or maybe even 512MB memory boxes, but if you've got 1 or 2GB, you might want to lower this.  I've lowered it to 15 (run sysctl -w vm.swappiness=15) but so far can't really tell the difference.  Still, I'm not using the system as fully as I will be when I get past upgrading and back into development work.  It'll be interesting to see how the system performs with me bouncing around virtual desktops with java compiles running, JBOSS running, xine running (I listen to movies while I work) and evolution and firefox running.