Ubuntu is the most popular Linux flavour owing to its simplicity and easiness for any Linux newbie.

But still the default configuration is not the fastest. There are many things you can do to speed up your Ubuntu installation and increase your productivity. Lets start with speeding up Ubuntu startup.

Disable unused startup programs.

Believe it or not, Ubuntu adds many startup programs that you might never use in your life. You can selectively remove unused startup programs by going to system -> Preferences -> Startup Applications. A few examples would be Login Sound, Visual Assistance and Ubuntu One.

Using all available processor cores during startup.

Most computers now have multi-core processors. But mostly, Ubuntu uses only one core during startup. You can make ubuntu use all cores to speed up booting by editing /etc/init.d/rc and changing

CONCURRENCY=none

to

CONCURRENCY=makefile 
or CONCURRENCY=shell (for versions prior to 11.10)

Disable unwanted visual effects.

Visual effects in Ubuntu include Translucent windows, 3D desktop effects, Shadow effects,  Motion effects and Animations. Although these effects look good, they are CPU and RAM hungry. You can change the level of visual effects from the system -> Preferences -> Appearance menu.

Ubuntu gives you three options - None, Normal and Extra. Choosing None will disable all visual effects but will speed up Ubuntu the most.

UPDATE: Since 11.10, the Unity interface is in place and Ubuntu has merged the compiz window options with unity. So in order to change visual effects in 11.10 and higher, you need to install "Compizconfig settings manager". Just open the "Ubuntu Software Center", type in Compizconfig and you will get it. Once installed, open it, go to "Effects" tab and disable all available effects.

Use Preload.

Preload is a utility capable of making your programs open much faster. It works by monitoring programs you commonly run and pre-loads binaries and dependencies of these common programs during startup. You can install preload with this command -

sudo apt-get install preload

Use better Swappiness.

Swappiness is a Linux kernel property that determines how aggressively the kernel should use the swap. Ranging from 0-100,  a low value means the kernel will avoid swapping as far as possible and a high value means the kernel will try to use swap whenever possible. You can find out your kernel swappiness level with the following command

cat /proc/sys/vm/swappiness

The default value is 60 and you can speed up ubuntu by decreasing it to 10 which is the preferred value for desktops.

To do this, edit /etc/sysctl.conf and change the following line (add if not exist):

vm.swappiness=10

Now the value 60 is derived as a compromise between the old low memory machines and the new ones with bigger memories. So setting it to a value depending on your RAM will give best results -

  • Less than 512Mb : 60
  • 512Mb - 1Gb : 40-50
  • Above 1Gb : 10

Move tmp folder to RAM

Moving /tmp folder to RAM will speed up Ubuntu programs because read/write operations will be much faster compared to harddisk. This technique works very well especially for netbooks.

To move /tmp to RAM, add the following in /etc/fstab and restart -

tmpfs /tmp tmpfs defaults,noexec,nosuid 0 0

Use flash drive for swap space.

Swap gets used when the available RAM gets filled up. Compared to hard disk, smaller read/write operations are around 10 times faster with flash or pen drives. Hence using a pen drive for your swap can speed up caching and improve performance. To assign a flash drive as swap, see this -

Use pen drive as swap in Linux.

Note: Pen drives have limited read-write cycles and so can get damaged soon if you have a high daily swap usage. This method is only recommended only for occasional heavy uses.

So please try these out and if you have any other tip that can speed up Ubuntu, please let me know as comments and I will update this post with the same.