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

开始构建

git clone https://github.com/FlyGoat/RyzenAdj.git
cd RyzenAdj
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

通过以下命令可以查看当前的cpu的设置以检查有无修改成功

sudo ./ryzenadj --info

用法

提示:需要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

可能会遇到的问题

实测发现,这个调整方法有可能会突然失效,我遇到的问题是:tdp成功调整为35w了,但是跑代码的时候tdp又变回了45w,但是在代码运行的过程中,再次调整就能将tdp稳定控制在35w。因此,只需要定时运行一下设置tdp的命令即可。
因为需要用到管理员权限,ubuntu自带的crontab很难用,我选择的是使用python来定时执行命令行,此时python需要用sudo来运行,因此还需要指定python的位置。

python代码如下,假设这个文件名为 limit_tdp.py

import os
import time
while 1:
	os.system('你的绝对路径/ryzenadj --stapm-limit=35000 --fast-limit=35000 --slow-limit=35000 --tctl-temp=90')
	time.sleep(10) # 每隔10秒执行一次
	print('成功执行')

在终端下执行代码,即可实现定时执行限制tdp的命令,保证电脑的tdp不会改变

sudo 你的python路径 limit_tdp.py

图形化界面 Ryzen Controller(可选)

提示:在 R9000k 2021 5900hx 3080 上成功安装,但是未能成功运行
Ryzen Controller
有Windows版和Linux版
gitlab地址如下:https://gitlab.com/ryzen-controller-team/ryzen-controller/
安装成功了,但是运行时就提示出错,图形化界面无法打开。文章来源地址https://www.toymoban.com/news/detail-447777.html

到了这里,关于Ubuntu通过 RyzenAdj 控制AMD CPU的功耗、频率、温度阈值等(R9000k 2021 5900hx 3080)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • FPGA设计中提高工作频率及降低功耗题目合集

    FPGA设计中提高工作频率及降低功耗题目合集

    提高工作频率的本质就是减少寄存器到寄存器的时延,简言之,降低各种延时 电路延迟主要包括三个: 寄存器延迟Tco(时延是由器件物理特性决定)、走线延迟和组合逻辑延迟。 走线延迟: 1、加入时钟约束(一般以加5%裕量较为合适) 2、将相关的逻辑的布线时尽量靠近,

    2024年02月05日
    浏览(13)
  • Android Studio制作手机App:通过手机蓝牙(Bluetooth)与STM32上的低功耗蓝牙(HC-42)连接通信,实现手机端对单片机的控制。

    Android Studio制作手机App:通过手机蓝牙(Bluetooth)与STM32上的低功耗蓝牙(HC-42)连接通信,实现手机端对单片机的控制。

    背景: 本文的内容是针对单片机蓝牙模块(HC-42)开发的手机App。在这之前,我想先声明一点,手机与手机间的蓝牙连接方式”与“手机与HC间的蓝牙连接方式”是不一样的。原因就是手机搭配的是“经典蓝牙”模块,HC等蓝牙属于“低功耗蓝牙”模块。(二者的区别想了解的

    2024年02月04日
    浏览(18)
  • 浅谈无线温度监控系统在低功耗开关柜中的应用

    浅谈无线温度监控系统在低功耗开关柜中的应用

    安科瑞 华楠 摘要 :为了能够实现实时监测高压开关柜的温度状况,提出一种基于无线传感器网络的开关柜温度在线监测系统。设计的无线温度在线监测系统不仅解决了开关柜内高温、高压、强电磁感应等在恶劣环境下不易检测的问题,而且从硬件选择和软件设计上实现超低

    2024年02月16日
    浏览(7)
  • 电脑cpu温度多少正常?带你了解cpu温度奥秘

    电脑cpu温度多少正常?带你了解cpu温度奥秘

    CPU是电脑的核心组件之一,其温度对于电脑的性能和稳定性至关重要。了解CPU的正常工作温度是保障电脑健康运行的关键之一。在本文中,我们将介绍三种常见的方法,以分步骤详细说明如何判断电脑cpu温度多少正常,帮助用户更好地了解并管理电脑的温度状况。 很多人不知

    2024年04月16日
    浏览(9)
  • Pytorch在cuda、AMD DirectML和AMD CPU下性能比较

    CUDA环境: i7-8550u + 16G DDR4 2133MHz + nVidia MX150 2GB AMD DirectML环境: Ryzen 5 5600G + 32G DDR4 3200MHz + Vega7 4GB AMD 纯CPU环境:Ryzen 5 5600G + 32G DDR4 3200MHz  其他硬件配置的硬盘、电源均一致。Pytorch版本为2.0.0,Python环境为3.7.11,Win10 LTSC。 拟合一个100万点数的函数,并计算从神经网络被传入内存

    2024年02月15日
    浏览(13)
  • 【计算机架构】如何计算 CPU 动态功耗

    【计算机架构】如何计算 CPU 动态功耗

           本篇博客全站热榜排名: 8 📜 本章目录: 0x00 动态功耗(Dynamic Power) 0x01 集成电路成本(Integrated Circuit Cost) 0x02 基准测试(SPEC CPU Benchmark) 0x03 SPEC功率基准测试(SPEC Power Benchmark) 0x04 Pitfall:Amdahl’s 定律 0x05 Pitfall:将 MIPS 作为性能指标 0x00 动态功耗(Dynamic P

    2023年04月21日
    浏览(11)
  • 比较常见CPU的区别:Intel、ARM、AMD

    一、开发公司不同 1、Intel:是英特尔公司开发的中央处理器,有移动、台式、服务器三个系列。 2、ARM:是英国Acorn有限公司设计的低功耗成本的第一款RISC微处理器。 3、AMD:由AMD公司生产的处理器。 二、技术不同 1、Intel:支持超线程术,同时快速运行多个计算应用,或为采

    2024年02月15日
    浏览(10)
  • linux 查看CPU架构是AMD还是ARM

    linux 查看CPU架构是AMD还是ARM

    要查看 Linux 系统的 CPU 架构是 AMD 还是 ARM,可以使用以下命令: 使用 lscpu 命令并查找 Architecture 字段: 如果输出结果中包含 x86_64 或 i686 ,则表示系统的 CPU 架构是 AMD (或者是 x86 架构的 Intel CPU)。如果输出结果中包含 armv7l 、 aarch64 或 arm64 ,则表示系统的 CPU 架构是 ARM 。

    2024年02月06日
    浏览(19)
  • PVE使用AMD CPU 5600G 核显直通

    PVE使用AMD CPU 5600G 核显直通

    参考:小破站大神教程 【PVE7 AMD 5700G 核显直通 (iGPU Passthrough)】 https://www.bilibili.com/video/BV11d4y1G7Nk?share_source=copy_webvd_source=e5f19273decf1e2e712bb024a8e24e75 下面是我成功直通5600g的硬件及软件版本,其他硬件或其他版本软件可能存在其他未知问题,请谨慎操作! 是否能够直通成功和主

    2024年02月03日
    浏览(8)
  • 查看调整cpu频率及模式

    cpufrequtils是一个查看和修改CPU频率GHz的工具 有些物理服务器使用默认频率进行运行,这时可以使用该工具进行就该CPU的核心频率 参数: 参数 值 说明 -c CPU序号 查看所指定cpu状态 -f 查看cpu当前频率 -l 查看cpu最高频率和最低频率 -p 查看当前cpu模式 -g 查看当前支持的CPU运行模式

    2024年02月08日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包