Short on horsepower? Less is more when it's powered by Linux.
Running the Software You Really Need
What can cause serious problems, though, is running bloated software when lighter-weight alternatives exist. Fortunately, Linux provides a plethora of options in a wide range of software categories, so you can usually find slimmed-down alternatives to the big packages that most distributions install by default. Examples include:
- Desktop environments — Rather than run KDE or GNOME, consider using a slimmer desktop environment, such as Xfce (http://www.xfce.org; see also my August, 2007 “Guru Guidance” column). Although user-friendly, KDE and GNOME both consume a lot of memory; Xfce is slimmer. On extremely limited hardware, a bare window manager, such as Blackbox or IceWM, can save even more memory.
- Office software — The OpenOffice.org suite provides word processing, spreadsheet, and other tools for Linux. Unfortunately, it’s also a big memory hog and it’s rather sluggish with slow CPUs. KOffice provides a slimmer alternative. KOffice even uses the same data format as OpenOffice.org, although advanced formatting sometimes isn’t handled in exactly the same way in both packages. Other programs, such as Siag, AbiWord and LyX, provide further alternatives.
- Web browsers — Although Mozilla Firefox is popular on Linux, it tends to chew up RAM like a bad actor chews up the scenery. KDE’s Konqueror tends to be a bit less hungry, and other alternatives, such as Galeon, also exist. Lynx is a text-based Web browser for those who want a very minimal system.
- E-mail clients — Many Linux users employ Evolution as their e-mail client. Evolution works well, but it tends to be a bit thick around the middle. KMailis one of several slimmer alternatives. Text-based mail clients, such as pine and mutt, are also available.
- Web servers — On the server side, Apache is the reigning champion, but like so many software champions, Apache is big. Smaller alternatives, such as thttpd, can help a small system keep up with a load that might strain a system running Apache. Slimmer Web servers, though, come with a price: They don’t provide as many options as their more feature-laden brethren.
- Mail servers — Sendmail has long been the standard mail server in the Unix world; however, it has been slowly losing ground to others, notably Exim, Postfix, and qmail. These are all slimmer and more efficient than Sendmail.
A Web search will turn up more options and alternatives for other categories. In many cases, you can get a machine to work like one with perhaps twice its memory or CPU speed by selecting key software components with care. You’re unlikely, however, to make a 486 system work like a 3GHz dual-core 64-bit powerhouse.
In addition to choosing what software to run, you may want to pay careful attention to how it’s configured. Activating advanced features, particularly related to multimedia and animation on desktop systems, can really slow a system down.
Deciding What and When to Upgrade
Sometimes, no matter how much care you put into configuring your system, you just won’t be able to get it to work the way you want it to. In these situations, minor computer upgrades may provide enough breathing room to keep it in service. Several types of upgrades are possible.
Increasing disk space is usually fairly easy and inexpensive. Modern disks have capacities measured in the hundreds of gigabytes, which is plenty to hold hours of high-definition video files that would choke a slim computer to death. You can usually add a second disk to a desktop system, but with laptops (and occasionally with desktops), you may need to replace the disk rather than add a new one. (External disks offer another option, but beware: Old computers usually have sluggish ports that will slow an external disk to a crawl.) Transferring data from one disk to another is possible, but it is beyond the scope of this column to describe the process.
Another upgrade option is to increase your available RAM. A slim Linux distribution can install in a few tens of megabytes of RAM. (My test laptop system with Slackware has just 96MB of RAM, for instance.) Increasing your RAM can often improve performance, though. Use the
free command to determine how much RAM your software is using, once you’ve got everything running for a while. Pay attention to the
-/+ buffers/cache line in the output; if the
free column in that output is close to zero, a RAM upgrade may be in order. Alternatively, consider shutting down applications when they’re not in use. This may be inconvenient, but it can save a lot of memory.
The third major type of upgrade is to your CPU. Unfortunately, this upgrade is often impractical. Most desktop systems have replaceable CPUs, but motherboards only support a narrow range of CPUs. You won’t be able to fit a modern 3GHz CPU into a system designed for a 200MHz CPU. If you’re lucky, you might be able to double the computer’s speed with a CPU swap. To get more of a speed boost, you’ll need to swap out the motherboard, and that will almost certainly require replacing the RAM and perhaps even your hard disks. It may also require software changes, such as recompiling your kernel and reconfiguring various Linux features.
Minor hardware upgrades can sometimes improve performance or usability. For instance, you might be able to add a new, faster USB 2.0 card to handle communications with USB 2.0 devices if your system currently only supports the older USB 1.0 or 1.1 standards. Upgrading your video card may improve video performance, particularly if you need to use 3D graphics features. A new network adapter can improve network performance if newer computers on your network support faster speeds than your older systems. Such upgrades are usually possible with desktop systems, but laptops are harder to upgrade.
Overall, then, you can make good use of outdated or underpowered hardware using Linux. By picking your software and configuration options carefully, you can extend the life of your hardware, thus keeping it from a premature trip to the landfill and minimizing your budget for the latest and greatest computers.