Build and run Memtest86 -
http://www.memtest86.com/ - simple to do.
A lot of unstable systems these days are caused by mismatched or misconfigured RAM.
Some time ago I checked all of my (I though pretty stable) systems with Memtest and was surprised to find errors. Adjusted RAM timings (and replaced one dodgy stick) and they've all gone from pretty stable to rock-steady.
If Memtest shows no errors then you have other problems.