Hardware testing
Sometimes when you have a kernel panic, oops, or other fatal crash, this is not programmers whom to blame. This article describes how to properly test your hardware to check it's in a good shape.
RAM tests
Random Access Memory (RAM) is sometimes faulty, which leads to some very strange system crashes. It is though highly recommended to test your system RAM. A several approaches and tools can be used.
Memtest86 and Memtest86+
Memtest86 is a stand-alone RAM tester. It can either be booted from a CD, or from your normal Linux bootloader, such as GRUB or LILO.
Memtest86+ is a forked version of Memtest86 with some features added.
You can either download and install one of this programs from the sites above, or they can be a part of your Linux distribution already.
For Fedora Core, memtest86+ is available: yum install memtest86+
For Gentoo, both programs are available: emerge memtest86 emerge memtest86+
To test your system for faulty RAM, install either memtest and reboot into it. Run it for at least a few hours (at least 2-3 iterations). If there will be even a single error reported, you have to change your RAM chips (or, if your system is overclocked, downclock it to normal speed).
Memtester
Memtester FIXME
CPU cooling tests
FIXME cpuburn