What steps do you take to make a vanilla Ubuntu system run faster and use less memory? I'm using Ubuntu as the OS for my general purpose PC, but it's on slightly older hardware and I want to get as much out of it as I can. Short of leaner distros, what things do you do to make it run a bit faster for basic web browsing and word processing?
Many Distributions offer what is called a Just Enough Operating System, or JeOS. How you go about installing these varies from distro to distro.
Under Debian based distributions, such as Ubuntu, if you use a Server Install ISO, you can install the JeOS by pressing F4 on the first menu screen to pick "Minimal installation".
Many distributions also provide Netinstall or USB boot install mediums that, because of limited resources, provide very striped down base systems to be built upon.
Other people may be able to give examples of other things that will make a bigger difference or may have fancy system tweaking tips but the thing that springs to my mind is to change the desktop.
It is relatively easy to try out XFCE and/ or LXDE as your desktop - just install them via Synaptic and select them at the log in screen. Both of these have, at least as far as I am concerned, a good balance between functionality and geegaws. If you find out that you really want the prettinesses of Gnome, at least you know the size of the trade off you are making.
If you're not averse to editing text files, you may find openbox a suitable desktop environment/window manager. It's extremely lean and provides most modern features — other than a GUI configuration menu: all configuration is done with a shell script and an XML file. I personally find this preferable; the XML file is well documented inline and is organized in pretty much the way I'd expect it to be. Further documentation is available in the configuration guide.
That being said, some features like panels etc. may not be suitable to your tastes. Openbox itself doesn't provide a panel or applets, but it implements a standard which many "independent" panel apps support. I actually stopped using panels when I switched to openbox. I find that the info from a few wmaker applets is enough for me. These applets serve much the same purpose as panel applets, providing sensor readouts and such, but have far lighter memory demands.
aptitude search ~n^wm will get you a list of them (and some other stuff).
You may need to invest a bit of time into learning openbox, but it will ultimately get you a more efficient system in terms of memory and CPU utilization.
How I do this is have a look at
top, sort by memory usage, and look at what seems useless.
Here's an example scenario of a GNOME user who's always connected to a single LAN point:
- you don't need Network Manager; it only start to be really useful if you have a more advanced networking setup (EG: bluetooth, wi-fi, 3G)
- it's listed as NetworkManager on
- find out which package it belongs to
- remove it
- reset your PC and see if things are still ok
- note that by doing this, you would also have got rid of other daemons
As others have noted, you might also try other Desktops (XFCE and LXDE), which will drastically help in terms of memory usage. Note also that Firefox is a memory hog, and if you not dependent on all those useful plugins, try alternatives, like Epiphany. If you depend on Firefox (or any other memory hog), avoid opening dozens of tabs. Use bookmarks instead, if you want to keep a tab on things (pun not intended).
This process might take some time, and I encourage you to experiment, and whenever you encounter a daemon you don't recognize, check it's man page or Google it, to ensure that you won't be screwing your system up.
Other services that I can think of, and you might not be using are apache, ssh-server, and (in the case of Ubuntu) ubuntu-one.
Ubuntu is fairly lean to begin with. Linux tends to have a "chunky" feel with the UI. This is a function of X as well as using non-optimized graphic drivers and such. I replaced Win 7 with ubuntu on a netbook, and it used like 1/4 of the memory out of the box, and generally ubuntu doesn't install a ton of stuff in the background, and nothing you'd really consider crapware.
Also, keep in mind. Linux will eat up your memory, but that's going to be cache. Its not really "using" it. When programs need that memory, it will free it up. The total memory use is misleading.
I'd suggest checking if there are graphics drivers written for your specific hardware. If you want to try a lighter OS, http://www.xubuntu.org/ is a good way to go. If that feels sluggish, then its something with your hardware/linux interface. I ran that on a budget thinkpad from 2000, which was designed for win 98 and barely run windows 2000, and ran fine with a fairly recent version of xubuntu. On top of that, I donated it to somebody who is completely computer illiterate, and she had no trouble with it (I had already installed the basics plus the flash plugin).