Well, I’m collecting a series of tweaks that might prove useful if I ever decide to put together a 400Mhz machine and put it through some speed tests. This is a preliminary list of things I’ve used, or modified, to try and boost speed. It’s mostly for me, but also for others to try.
- Binary video drivers: This will depend on the video card, of course. But chances are it would be an Nvidia, and there’s a big difference between the nv and nvidia drivers.
- Nvclock: So long as we’re using binary drivers. … And overclocking the video card just makes sense these days. Especially when a new one of that generation is less than $10.
- Proper speed memory and drive: These are probably the most effective, but least difficult, improvements to make. Nothing says “speed demon” like a 7200rpm drive. (Of course, they get faster, but not on my budget.)
- Ext3 with dir_index: I can tell a difference, even if most people probably can’t. On a 400Mhz machine, I think you really could.
- Ext3 with writeback, etc.: So long as we’re tweaking the file system, might as well do this too.
- Server install plus minimal XFCE packages: Without all the dreck — I mean, goodies that come with Xubuntu, it moves very fast. And if what you’re after is a crisp, slick GUI, it makes sense to start with nothing and add on.
- Strip out defaults: Ubuntu-minimal (and xubuntu-desktop, in a way) contain some packages that are installed by default, but not really necessary. I’m thinking of file system-specific packages like jfsutils and hardware-specific packages like pcmciautils. I realize they aren’t accessed much, and therefore aren’t necessarily in the way, but it seems to me that unneeded is unneeded, and they can therefore be removed.
- No login manager: Gnome slows things down. GDM isn’t much better. Login at the terminal screen and jump to startxfce4. It’s faster.
- Swiftfox: On slower machines, Swiftfox is speedier by a degree.
- Disable IPv6: Helps with that irritating half-second hang while the browser looks for IPv6.
- Processor-specific kernel: I feel a little foolish that I didn’t know about the processor-specific kernel packages until now. Very embarrassing. Better yet would be a custom kernel. …
- InitNG: I tried this, but couldn’t get it to install. I have a feeling it’s effective, though.
- Remove unneeded services: This chopped my boot time in half on my production machine. I had been wondering how to do that, and the no-cleanup tricks are useful too.
- Clearing leftover packages, autoclean and deborphan: I kind of do this anyway, so it’s not anything new. Deborphan is good to have on hand if you rip out (via aptitude remove –purge) anything.
- Prelink and preload: Worth having. Preload is a funny thing from what I’ve seen of it. It’ll slow you down a little at the start, but pay you back in small bits later.
I think that’s about it for now. If I dig up any other tweaks, I’ll add them on.
EDIT: I forgot vm.swappiness. Since I run most machines with adequate (or excess, really) memory, there’s no need for virtual memory to start swapping.