Question

How do I get CPU temperature and fan speeds in OS X?

I understand that information is obtained from IOHWSensor in IOKit, but I'm unable to find any reliable information on how to exactly do that.

I've found an article with a sample program - http://www.booktou.com/node/148/0321278542/ch10lev1sec7.html, but all I get with it is the GPU temperature. I'm sure there are CPU temperature sensors on the unibody Macs, so that means I'm doing something wrong.

Was it helpful?

Solution

The source code for this Prefpane that's called FanControl is avilable; it shows temperatures and fan speeds: http://www.lobotomo.com/products/FanControl/index.html

OTHER TIPS

If you have npm installed, there is also cli tool called macstats. You can install it using:

[sudo] npm install macstats -g

Then just run the command and it will give you output like:

--- CPU Stats ---
CPU Temp:        33.75°C

--- Fans Stats ---
Fan 0 speed:     1996 RPM
Fan 1 speed:     2003 RPM

--- Battery Stats ---
Charged:         82%
Capacity:        92%
Cycle Count:     692 (69%)
Max Cycle Count: 1000
Current Charge:  5189 mAh
Maximum Charge:  6316 mAh
Design Capacity: 6900 mAh
Time Remaining:  6.54 h
Temperature:     30.06°C

The tools also exposes API that you can use in a custom application.
See https://github.com/jkuri/macstats for more information.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top