My main computer is an Asus M50sa, which is about five years old now. The computer is still great but it continually overheats and shuts itself down whenever there is a heavy load on the CPU. I can use it for hours without problems and the core temp stays around 50 C, but if I try to run Eclipse or watch a movie, within a few minutes, the system powers down.
The fan speeds up and blows a lot of air out, so that seems to be behaving normally. I have cleaned the whole thing out, but there wasn't much dust in the case at all, everything seems clean. The laptop is not hot on the outside, either on the top or bottom. I have updated the BIOS to the latest version. I run Ubuntu 12.10 most of the time, and I can see this line in my syslog whenever it forces shutdown:
Critical temperature reached (105 C), shutting down
I should mention that this has happened before about 8 months ago, and I stripped the stock thermal compound on my CPU and applied a new coating. After that treatment, the whole laptop no longer got hot to the touch and I didn't have any shutdown problems for several months, until about a month ago. Now it happens all the time. This also happens no matter what OS I'm running, I get a shutdown in Windows 7 and Windows 8 as well.
Any ideas of what I can do to improve it? Even when I use a laptop cooling stand, it doesn't really help. I'm willing to buy hardware and work on it. I need my computer for work and I can't afford a new one right now.
Here's a picture of the inside, including the cooling system: