smckit - macOS SMC tool
smckit [-cdfmptuw]
[-h]
[-k check-key]
[-n fan-id] [-s fan-speed]
[-v]
A macOS command line tool for interfacing with the Apple System Management Controller (SMC) in Swift on Intel based Macs.
List of supported command line options (flags/switches). Providing no options
prints temperature (-t), fan (-f), power (-p), and misc (-m)
information.
-c, --colorColorize output where applicable.
-d, --show-keysShow SMC keys (FourCC) when printing temperature sensors.
-f, --fanShow the machines fan speeds (RPM).
-h, --helpShow the list of options.
-k, --check-key valueCheck if a FourCC is a valid SMC key on this machine.
-m, --miscShow misc information about this machine.
-n, --fan-id valueThe id (number - starts from 0) of the fan whose speed to set. The list of
id's can be seen via the --fan option. Must be used in combination
--fan-speed.
-p, --powerShow power related information about this machine.
-s, --fan-speed valueThe minimum speed (RPM - revolutions per minute) of the fan to set. By
minimum we mean that macOS can interject and raise the fan speed if needed,
however it will not go below this. Must be used with --fan-id. Requires
root privileges.
WARNING: You are playing with hardware here, BE CAREFUL.
-t, --temperatureShow the list of known temperature sensors on this machine.
-u, --unknown-temperature-sensorsShow the list of temperature sensors whose hardware mapping is unknown.
-v, --versionShow SMCKitTool version.
-w, --warnShow warning levels for temperature sensors and fan speeds.
FanAll Intel based Macs to this point have at least one fan, with the exception of the newly added fanless MacBook (8,1).
TemperatureThe list of known temperature sensors (-t) in combination with the unknown
ones (-u) is exhaustive. However, the names of the known sensors may not
be mapped to the correct hardware component. In addition, the maximum
temperature of each individual sensor is not known. Thus, a global max of
128 degrees Celsius is used. This is all due to the fact that the SMC has a
closed source driver, and thus information about it's inner workings is
limited.
If a sensor has a value that is very high, constant, and completely disproportionate to the rest, then there is a chance that it is faulty. This could be due to bad or damaged hardware (liquid on the logic board). Run the Apple Diagnostics (Apple Hardware Test for older machines) diagnostics suite in such a case to confirm.
Some sensors however report very low values, below zero. The current theory on this is that at lower temperatures the sensors have inaccurate readings. It maybe that they are located close to an internal fan, and the airflow is causing it to be skewed.
Due to Swift, smckit requires macOS 10.9 (Mavericks) and above. This implies an
Intel based 64-bit machine.
https://github.com/beltex/SMCKit
All project related matters, including source code, can be found at the GitHub repository listed above. In particular, the issue tracker, which can be used to report feedback, feature requests and bugs.
This project is under the MIT License.
beltex https://beltex.github.io
dshb(1), powermetrics(1)