A few weeks ago as summer signs established themselves in gorgeous Boulder, Colorado, I started having stability problems on my workhorse desktop, a PC computer running Linux on Athlon 2400+. I installed the lm_sensors module and saw a CPU temperature report of about 65C with just GNOME running, and over 70C upon compiling Python or the kernel. These compilations would inevitably crash with a GCC your-hardware-is-hosed-buddy error. Just to verify the lm_sensors readings I sacrificed my uptime and rebooted to check the PC Health reading on the BIOS setup screen. The CPU was reading 60C and the overheat alarm was shut off. I fixed the settings and resigned myself to addressing the CPU and case cooling.

I’ve always been happy to leave cooling to the case and mobo manufacturers, but clearly Athlon pushes Joules at a rate that makes this unrealistic. I suffered the same drafting into the ranks of PC enthusiasts over power supplies (my current power supply is an upgrade from the stock 280W that came with the case to a 360W unit I’d installed).

I checked the case and saw that I had only a CPU heat sink/fan combo, the power supply unite intake and outtake fan and a rear exhaust fan (on another, less stressed computer I checked for reference, I didn’t even have a rear exhaust fan). So the way I saw it, the PSU was radiating heat onto the CPU, which was itself no slouch at generating heat, and that the PSU was drawing away a little of that heat and the exhaust fan somewhat more of it. But I didn’t see where cooler air might be coming into the vicinity of the CPU in order to improve the forced convection of the exhaust fan and the conduction of heat from the CPU surface onto the heat sink.

At this point I went to the local PC Club to see what they had for cooling. I happened to mention my problem to a salesman and he immediately indicated some creatively cryogenic units retailing from $50 to $80. He insisted that for users of well-known Joule-pushers such as Athlon CPUs, there was no other way to get adequate cooling. But I kept coming back to what I saw as a very simple heat transfer problem.

My Dad taught heat transfer in college in Nigeria, and I made the mistake asking him for help with the notoriously failure-prone thermodynamics and fluid mechanics courses I had to take in my Electrical Engineering curriculum. Boy did he work me like a drill seargent. I’ve never been one to think that half of what one learns in college will never be applied in real life, and I’ve used my heat transfer training before. Now the training was telling me that someone was trying to get me to spring extra bucks for an over-engineered solution.

I kept going back to the fundamental problem that I probably had enough exhaust convection going on but that cool air was not being brought into the vicinity of the CPU to impart a useful heat gradient to complement the exhaust. The efficiency of cooling by conduction (i.e. from CPU to heat sink) and forced convection (i.e. radiated from heat sink into exhaust air flow) is proportional to the temperature differential, which is why cryo-coolers are indeed quite effective. But it doesn’t take a huge amount of temperature differential to do the trick. My room is nowhere near 70C (it’s closer to 30C) so if I could just get air flow from the room to the CPU without its being excessively heated en route, I should be able to make a dramatic boost in the efficiency of the exhaust system.

So I started by grabbing a $5 case fan that I could install in the lower front of my case. This would draw room temp air into the case, and natural air flow would tend to draw it up to the CPU to replace the air being exhausted away. I did worry, however, that this air would be heated by the PCI cards which it passed en route so I asked whether they had units focused on cooling the PCI slots area. The salesman first pointed out a fan unit that pulled air directly in a horizontal line from the front area of the case and exhausted it out of the back. But I worried that this would draw air flow from the front of the case away from the CPU and defeat the whole purpose. I did find a $10 unit that drew air vertically, from the bottom of the case, and blew it out of the case hole for the PCI slot.

As an experiment I tried with just the front case fan and then adding the PCI slot fan. The first config resulted in colling by over 12C across the board (BIOS, idle GNOME and kernel compile) and adding the PCI slot fan bumped it up to about 15C cooling improvement across the board. Classic diminishing returns where the first $5 I spent yielded a 12C return, the next $10 I spent gave an additional 3C return, and based on the salesman’s claims, I might have paid $50 - $80 for an overall 5-10C return.

So I end up wondering how often all those mega cryo units are really necessary. To be fair I don’t overclock, so my problems don’t measure up to those of hard-core enthusiasts, but I got the impression from the PC Club salesman and some stuff I’ve read on the Web that these super coolers are even marketed to non-OC users of the latest CPUs.

Really, you don’t need to have had a drilling in fluid mech and heat transfer to figure out how to spend the least amount of money on cooling your CPU. Just think of all the sources of heat in your system. If you’re brave and careful, feel some of the surfaces and areas to get a visceral sense of the hot and cool zones. Think of how air is moving around to provide efficient overall cooling, and think of how cool this air is to begin with, and what could be heating it up as it moves.

Incedentally, I happened to see some of the slick, newer mini “appliance” form factor (SFF) PCs at the PC Club, but they sported Athlon 64s and P4s and I wondered how they could possibly provide adequate cooling. I do like that small form factor for aesthetic reasons, so I may have to find out some day.

Side question 1: does anyone know how well all those special knobs and slick displays on SFF computers play with Linux?

Side question 2: does anyone know how to flash/update the BIOS on an EPoX 8RDA3+ from Linux? Recent BIOS changelogs seem to indicate that I should upgrade in order to address AGP issues and the like, but I can’t find any way to flash the BIOS except for the Windows utility that comes on the driver CD. I’ve checked the EPox site and a variety of gambits of Google (Web and groups) and Yahoo searches.

Have you tried cheaper cooling methods before having to resort to an expensive cryo-cooler?