Undervolting CPU
Undervolting is a process where voltage to CPU is reduced in order to reduce its energy consumption and heat without affecting performance. Note that most desktop motherboards allow tweaking CPU voltage settings in BIOS as well.
Overview
-
PHC - a tool to undervolt some old generation Intel and AMD processors. Not compatible with
intel_pstate
CPU frequency driver. -
#intel-undervolt - a tool for undervolting Haswell and newer Intel CPU using MSR. Not compatible with Tiger Lake and above. Compatible with
intel_pstate
. - #amdctl - a tool for undervolting K10 and newer AMD CPUs.
- K10ctl - overclock and undervolt an AMD K10 processor (e.g. Phenom, Phenom II) by changing its P-States.
Tools
intel-undervolt
Intel-undervolt is a tool based on this article for undervolting Haswell and newer Intel CPUs using MSR and MCHBAR registers. In addition, it also allows to change power and temperature limits.
Installation
The tool can be installed as intel-undervolt.
Configuration and usage
The following command prints in use voltage settings:
# intel-undervolt read
Now edit the configuration file /etc/intel-undervolt.conf
. Example config with undervolted CPU Cache by -100mV:
/etc/intel-undervolt.conf
... undervolt 0 'CPU' 0 undervolt 1 'GPU' 0 undervolt 2 'CPU Cache' -100 undervolt 3 'System Agent' 0 undervolt 4 'Analog I/O' 0 ...
Decreasing CPU and CPU Cache by 100 to 200 mV is usually stable. Going above 200 mV may result in a crash, or may not have any effect at all.
Once you saved configuration file - test it:
# intel-undervolt apply
It will print Success if settings were applied. You can double check in use configuration using the following command:
# intel-undervolt read
Once you find stable configuration, you can also enable intel-undervolt.service
to make changes persistent.
amdctl
amdctl is a tool for undervolting K10 and newer AMD CPUs.
Installation
The tool can be installed as amdctl-gitAUR.