AMDpctl Code
Status: Beta
Brought to you by:
apritzel
amdpctl ================ amdpctl allows access to the P-states of recent AMD processors. P-states define a valid combination of voltage and frequency, to which the processor can switch easily to save power. In opposite to C-states the CPU remains fully operational, though at a possibly lower speed. Normally P-states are processor defined and can sometimes be tweaked by the BIOS. amdpctl can query the current P-states settings and also allows to change it. On this way you can overclock your processor (if that CPU model allows it) or you can underclock or undervolt your CPU (supported by all CPUs). With undervolting you can save power without sacrificing performance. With all these tweaking you drive your CPU to the egde (if not beyond) its specification, so it may become unstable or may even overheat. The least precaution before doing the tweaking is to bring your system to a state where a hard crash wouldn't hurt it (unmounting precious partitions, switching to single user state, sync-ing the buffers, etc.). I'd also recommend to do a backup of your data. For experiments it could also be handy to use a live system, started from a CD or USB stick without mounting any hard disk partitions. This way the possibility of damaging your data can be minimized. *** WARNING ***: All these precautions cannot prevent the danger of hurting the CPU by applying absurd settings to it. The author cannot help responsible for any damage occured due to the usage of amdpctl. *** WARNING *** * Try to increase or decrease the voltage and frequency only in small steps. * Test the stability of the system after each setting. * Go back a few steps should the system become unstable. * Use only sensible combinations of voltage and frequency. Higher frequencies require higher voltage, look at the factory settings to get an idea. Contact: --------------- Check for updated versions on: http://sourceforge.net/projects/amdpctl/ There are two mailing lists: * amdpctl-users@lists.sourceforge.net for questions about using this tool or bug reports subscribing: https://lists.sourceforge.net/lists/listinfo/amdpctl-users * amdpctl-devel@lists.sourceforge.net for patches, bug-reports, feature requests subscribing: https://lists.sourceforge.net/lists/listinfo/amdpctl-devel Installation: --------------- $ make # make PREFIX=/usr install The Makefile honors a DESTDIR setting to copy the installation files into a different base directory than /. Usage: --------------- See the manpage (man amdpctl) or the online help (amdpctl -h). Usage examples: # amdpctl will query the current P-state settings on all CPUs and display it # amdpctl -p 3 will query the current P-state settings of CPU 3 and display it # amdpctl tweak 2 --volt 1.1 --freq 2500 will program the P-state 2 to use 1.1 Volts and a frequency of 2500 MHz CPU support status: ---------------- Not supported: * anything not 64-bit capable * K6, K7, Athlon XP, Athlon MP * Family 0Fh (K8) (probably never will) - three-digit Opterons - Opteron 12xx, 22xx, 82xx - Athlon 64, Athlon X2, older Semprons * Family 15h, model 10h (coming soon) - Trinity, AMD A-10 Currently supported CPUs are: * Family 10h Barcelona, Shanghai, Hydra, Magny-Cours Phenom, PhenomII, AthlonII, TurionII Opteron 13xx, 23xx, 83xx, 24xx, 84xx Opteron 41xx, 61xx * Family 12h Llano, AMD-A Series * Family 14h Brazos, Ontario, Zacate, AMD-E Series * Family 15h, models 00h - 0Fh Bulldozer, AMD-FX series Opteron 32xx, 42xx, 62xx The models listed are not an exhaustive lists, just popular examples. The actual criterion for support is the CPU family/model setting, which can be queried via /proc/cpuinfo: $ grep -E "cpu family|model[^ ]" /proc/cpuinfo | head -2 Linux lists the family and model in decimal values, so 16 means 10h