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
, --color
Colorize output where applicable.
-d
, --show-keys
Show SMC keys (FourCC) when printing temperature sensors.
-f
, --fan
Show the machines fan speeds (RPM).
-h
, --help
Show the list of options.
-k
, --check-key
valueCheck if a FourCC is a valid SMC key on this machine.
-m
, --misc
Show 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
, --power
Show 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
, --temperature
Show the list of known temperature sensors on this machine.
-u
, --unknown-temperature-sensors
Show the list of temperature sensors whose hardware mapping is unknown.
-v
, --version
Show SMCKitTool version.
-w
, --warn
Show warning levels for temperature sensors and fan speeds.
Fan
All Intel based Macs to this point have at least one fan, with the exception of the newly added fanless MacBook (8,1).
Temperature
The 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)