Как получить температуру процессора и скорость вентилятора на OS X?

Как получить температуру процессора и скорость вентилятора в OS X?

Я понимаю, что информация получена из IOHWSensor в IOKit, но я не могу найти надежную информацию о том, как это сделать.

Я нашел статью с образцом программы http://www.booktou.com/node/148/0321278542/ch10lev1sec7.html, но все, что я получаю, это температура графического процессора. Я уверен, что есть датчики температуры процессора на Unibody Mac, поэтому это означает, что я делаю что-то неправильно.

Ответы

Ответ 1

Исходный код этой Prefpane, который называется FanControl, доступен; он показывает температуры и скорости вращения вентилятора: http://www.lobotomo.com/products/FanControl/index.html

Ответ 2

Если у вас установлен npm, есть также инструмент cli, называемый macstats. Вы можете установить его, используя:

[sudo] npm install macstats -g

Затем просто запустите команду, и она даст вам выход, например:

--- 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

Инструменты также предоставляют API, который можно использовать в пользовательском приложении.
Подробнее см. https://github.com/jkuri/macstats.