您现在的位置是:首页 >技术交流 >Ubuntu通过 RyzenAdj 控制AMD CPU的功耗、频率、温度阈值等(R9000k 2021 5900hx 3080)网站首页技术交流
Ubuntu通过 RyzenAdj 控制AMD CPU的功耗、频率、温度阈值等(R9000k 2021 5900hx 3080)
简介Ubuntu通过 RyzenAdj 控制AMD CPU的功耗、频率、温度阈值等(R9000k 2021 5900hx 3080)
Ubuntu通过 RyzenAdj 控制AMD CPU的功耗、频率、温度阈值等(R9000k 2021 5900hx 3080)
概要
提示:在 R9000k 2021 5900hx 3080 上成功测试
Ubuntu通过 RyzenAdj 调整AMD CPU(Ryzen移动处理器)的电源管理设置。
github地址如下:https://github.com/FlyGoat/RyzenAdj
既可以被用于Linux,也有Windows的版本,具体详见github。
安装(编译)
提示:以下操作均在终端中
构建要求
构建此工具需要C和C++编译器以及cmake。它需要对NB PCI配置空间的特权访问,为了编译它,必须有可用的pcilib库和headers。
sudo apt update
sudo apt install cmake
在构建之前,请确保您有libpci依赖项。在基于Debian的发行版上,安装pcilib-dev软件包涵盖了这一点:
sudo apt update
sudo apt install libpci-dev
开始构建
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
示例(Demo)
如果我要将所有功率限制设置为45W,Tctl设置为90°C,那么命令行应该是:
sudo ./ryzenadj --stapm-limit=45000 --fast-limit=45000 --slow-limit=45000 --tctl-temp=90
夏季28度的情况下,实测 R9000k 2021 5900hx 3080 在此设置下跑深度学习温度压不住,会上升到100度。将所有功率限制设置为35W,Tctl设置为90°C时,温度能稳定在91度,最高偶尔会到92度。
sudo ./ryzenadj --stapm-limit=35000 --fast-limit=35000 --slow-limit=35000 --tctl-temp=90
用法
提示:需要root权限
$./ryzenadj -h
Usage: ryzenadj [options]
Ryzen Power Management adjust tool.
-h, --help show this help message and exit
Options
-i, --info Show information and most important power metrics after adjustment
--dump-table Show whole power metric table before and after adjustment
Settings
-a, --stapm-limit=<u32> Sustained Power Limit - STAPM LIMIT (mW)
-b, --fast-limit=<u32> Actual Power Limit - PPT LIMIT FAST (mW)
-c, --slow-limit=<u32> Average Power Limit - PPT LIMIT SLOW (mW)
-d, --slow-time=<u32> Slow PPT Constant Time (s)
-e, --stapm-time=<u32> STAPM constant time (s)
-f, --tctl-temp=<u32> Tctl Temperature Limit (degree C)
-g, --vrm-current=<u32> VRM Current Limit - TDC LIMIT VDD (mA)
-j, --vrmsoc-current=<u32> VRM SoC Current Limit - TDC LIMIT SoC (mA)
-k, --vrmmax-current=<u32> VRM Maximum Current Limit - EDC LIMIT VDD (mA)
-l, --vrmsocmax-current=<u32> VRM SoC Maximum Current Limit - EDC LIMIT SoC (mA)
-m, --psi0-current=<u32> PSI0 VDD Current Limit (mA)
-n, --psi0soc-current=<u32> PSI0 SoC Current Limit (mA)
-o, --max-socclk-frequency=<u32> Maximum SoC Clock Frequency (MHz)
-p, --min-socclk-frequency=<u32> Minimum SoC Clock Frequency (MHz)
-q, --max-fclk-frequency=<u32> Maximum Transmission (CPU-GPU) Frequency (MHz)
-r, --min-fclk-frequency=<u32> Minimum Transmission (CPU-GPU) Frequency (MHz)
-s, --max-vcn=<u32> Maximum Video Core Next (VCE - Video Coding Engine) (MHz)
-t, --min-vcn=<u32> Minimum Video Core Next (VCE - Video Coding Engine) (MHz)
-u, --max-lclk=<u32> Maximum Data Launch Clock (MHz)
-v, --min-lclk=<u32> Minimum Data Launch Clock (MHz)
-w, --max-gfxclk=<u32> Maximum GFX Clock (MHz)
-x, --min-gfxclk=<u32> Minimum GFX Clock (MHz)
-y, --prochot-deassertion-ramp=<u32> Ramp Time After Prochot is Deasserted: limit power based on value, higher values does apply tighter limits after prochot is over
--apu-skin-temp=<u32> APU Skin Temperature Limit - STT LIMIT APU (degree C)
--dgpu-skin-temp=<u32> dGPU Skin Temperature Limit - STT LIMIT dGPU (degree C)
--apu-slow-limit=<u32> APU PPT Slow Power limit for A+A dGPU platform - PPT LIMIT APU (mW)
--skin-temp-limit=<u32> Skin Temperature Power Limit (mW)
--power-saving Hidden options to improve power efficiency (is set when AC unplugged): behavior depends on CPU generation, Device and Manufacture
--max-performance Hidden options to improve performance (is set when AC plugged in): behavior depends on CPU generation, Device and Manufacture
图形化界面 Ryzen Controller(可选)
提示:在 R9000k 2021 5900hx 3080 上成功安装,但是未能成功运行
Ryzen Controller
有Windows版和Linux版
gitlab地址如下:https://gitlab.com/ryzen-controller-team/ryzen-controller/
安装成功了,但是运行时就提示出错,图形化界面无法打开。
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。