This morning, one of my servers (Dell Poweredge R510, with a quad-core Intel Xeon E5520 CPU running Debian 5.0.4) had crashed. It didn't respond to anything : ping, ssh, smb. Not even when physically attaching a screen and a USB keyboard to it, did it respond.
After a reboot, the system started without a problem and everything seemed to work again.
Skimming through the logs I found some things occuring :
kernel: BUG: soft lockup - CPU#7 stuck for 61s!and
kernel: __ratelimit: 35 messages suppressed kernel: nf_conntrack: table full, dropping packet.
After Googling, I didn't really find a sound explanation, but some of the things that was mentioned was a bug in the Intel CPU, which could be solved by updating the CPU Microcode.
I'm not sure this will solve my problem, which only happened once since I started using the server about half a year ago, but as was mentioned, it does little risk, doesn't slow down your machine and might solve a few problems.
So I installed two packages (you need contrib and non-free repositories):
apt-get install intel-microcode microcode.ctlPackage intel-microcode contains the updated microcode for Intel CPU's, while microcode.ctl does the update. Because the update is done in memory, the update is lost after a reboot, so you will have to do it again, but this package takes care of that.
Update 06Dec2010 : The microcode is automatically updated after a reboot. :)