Five Pounds of Flax

Every culture has a burrito.

TFMonitor: graph your Mac's fan speeds and temperatures

Thursday, November 23, 2006posted by Michael Rothwell @ 1:14 PM


TFmonitor is a piece of software written by K. Seki that monitors your Intel Mac's fan speeds and temperature sensors. To the right is a screenshot of it in action on my MBP (core duo).

I like to bump the minimum fan speed on my Mac up to 2500 RPM to keep it cooler. Currently I'm just using the "smc" command-line program, although I've tried the various GUIs available now. I use the following:

/usr/bin/smc -k F0Mn -w 2710
/usr/bin/smc -k F1Mn -w 2710

Note that 2710 is the hexadecimal representation of 10000, which is 2500*4 (or 2500 left-shifted by 2). The primary problem with this method is that it doesn't stick past reboots or sleep/wake cycles, and has to be run again.

So I'm writing a little program to run idle in the background, wait for "I woke up" events, and re-set the minimum fan speed. Then I just need a prefpane to set the minimum speed and I'll be good to go.

[[[NSWorkspace sharedWorkspace] notificationCenter]
addObserver:self
selector:@selector(workspaceDidWake:)
name:NSWorkspaceDidWakeNotification
object:nil];

I know that FanControl does this already, but it seems to have the side effect of making my cpus run at full speed (2.17GHz) all of the time. If I just set the minimum fan speed using "smc" as needed, the CPU speed can still vary. For example, while typing this, I'm running at 1.67GHz.

$ sysctl kern.cpu_currentfreq
kern.cpu_currentfreq: 1667

Plus, it's a fun little project.

UPDATE: a fun little *abandoned* project. FanControl 1.1 doesn't peg my CPUs at full speed. CoreDuoTemp does mis-read the CPU speed, though. I'm happily using FanControl and running at 118ºF.