Overheating. I've had the same problem on my system. You can monitor that with the lm_sensors package installed. The command to monitor system temperature as text is simply "sensors". You can also use the system monitor tool and add a tab that will happily chart the CPU and RAM thermal sensors for you. I do that on my 8 core system, and it has helped me fix an overheating problem. In any case, the fan issue is not unknown. Off hand, I know there is a solution, but I'm not sure what it is! FWIW, I am running another RedHat Enterprise 6.2 clone - Scientific Linux. Much the same as CentOS - RHEL with the copyrighted images swapped out for (IMO) cooler images of atoms and such.
And if you are interested, the reason I haven't dug into the solution (possibly a kernel configuration change) is that I was able to fix my RAM overheating problem by moving the SIMMs into alternating slots, thus giving them better air flow and less proximity to each other. That may, or may not, be an option for you. In any case, the lm_sensors data showed me that it was the RAM that was overheating, and once a SIMM would reach its maximum rating, it would be swapped out of use. Your motherboard may not allow that, but since I am using fully-buffered ECC RAM, mine can do that so it would keep working, but I would lose 2GB of capacity. After changing the slots the SIMMs were installed in, the problem has gone away, although I still monitor the temperature. When I run CPU/RAM intensive operations (like compiling a kernel on all 8 cores), the temperature spikes, but still remains in the "green" range.