Central Processing Unit
cpu0 at mainbus?
cpu* at mainbus?
Several processor models have additional features that extend their base functionality, such as power and frequency control or thermal monitoring.
The sysctl(2) hw.cpuspeed returns the current operating frequency of the processor, though on some processors this value may be only an approximation. If possible, speed may be adjusted by altering hw.setperf from 0 to 100, representing percentage of maximum speed. There are several possible implementations for setperf, all transparent to the user:
- Enhanced SpeedStep found on Intel and VIA processors, offering frequency scaling with numerous positions.
- Found on various AMD processors. It currently only supports a limited set of models in the K8 families.
INSTRUCTION SET EXTENSIONS
The presence of extended instruction sets can be determined by the sysctl machdep.
- Supports the VIA AES encryption instruction set. If this is supported, the libcrypto EVP AES functions automatically use this support.
The sysctl(2) hw.sensors.cpu*.temp0 returns the current temperature reported by the processor.
Due to the way in which thermal information is reported on Intel processors, the temperature may be off by exactly +/-15 degrees C.
For multiprocessor kernels with more than one CPU sensor, processors report identical temperatures since the temperature is taken from the processor running the sensors update.