CPU工作模式、实时频率查询的方法

文摘   科技   2023-08-30 18:30   天津  

CPU动态节能技术用于降低功耗,通过选择系统空闲状态不同的电源管理策略,可以实现不同程度降低CPU功耗,更低的功耗策略意味着CPU唤醒更慢对性能影响更大。本文这里讲解了如何使用命令查看系统下CPU的工作模式,和实时频率。


测试用系统信息:

  1. # cat /etc/os-release

  2. NAME="Kylin"

  3. VERSION="银河麒麟桌面操作系统V10 (SP1)"

  4. VERSION_US="Kylin Linux Desktop V10 (SP1)"

  5. ID=kylin

  6. ID_LIKE=debian

  7. PRETTY_NAME="Kylin V10 SP1"

  8. VERSION_ID="v10"

  9. HOME_URL="http://www.kylinos.cn/"

  10. SUPPORT_URL="http://www.kylinos.cn/support/technology.html"

  11. BUG_REPORT_URL="http://www.kylinos.cn/"

  12. PRIVACY_POLICY_URL="http://www.kylinos.cn"

  13. VERSION_CODENAME=kylin

  14. UBUNTU_CODENAME=kylin

  15. PROJECT_CODENAME=V10SP1

  16. KYLIN_RELEASE_ID="2303"

‍ 查看CPU当前设置模式:

  1. # cpupower frequency-info

  2. # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor --看CPU0的模式

‍ 查看CPU当前频率:

  1. # cpupower frequency-info

  2. # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq --看CPU0的当前频率

  3. #watch -n 1 cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq --持续看CPU0的当前频率

‍ 设置CPU电源模式:

  1. # cpupower frequency-set -g Ondemand --动态调频

  2. #cpupower frequency-set -g Performance --性能模式


几种模式说明如下:

  • performance: 顾名思义只注重效率,将CPU频率固定工作在其支持的最高运行频率上,而不动态调节。

  • powersave: 将CPU频率设置为最低的所谓“省电”模式,CPU会固定工作在其支持的最低运行频率上。

  • 因此这两种governors 都属于静态governor,即在使用它们时CPU 的运行频率不会根据系统运行时负载的变化动态作出调整。

  • 这两种governors 对应的是两种极端的应用场景,使用performance governor 是对系统高性能的最大追求,而使用powersave governor 则是对系统低功耗的最大追求。

  • userspace:最早的cpufreq子系统通过userspace governor为用户提供了这种灵活性。系统将变频策略的决策权交给了用户态应用程序,并提供了相应的接口供用户态应用程序调节CPU 运行频率使用。也就是长期以来都在用的那个模式。可以通过手动编辑配置文件进行配置

  • ondemand: 按需快速动态调整CPU频率, 一有cpu计算量的任务,就会立即达到最大频率运行,等执行完毕就立即回到最低频率。

  • userspace是内核态的检测,用户态调整,效率低。而ondemand正是人们长期以来希望看到的一个完全在内核态下工作并且能够以更加细粒度的时间间隔对系统负载情况进行采样分析的governor。在 ondemand governor 监测到系统负载超过 up_threshold 所设定的百分比时,说明用户当前需要 CPU 提供更强大的处理能力,因此 ondemand governor 会将CPU设置在最高频率上运行。但是当 ondemand governor 监测到系统负载下降,可以降低 CPU 的运行频率时,到底应该降低到哪个频率呢?ondemand governor 的最初实现是在可选的频率范围内调低至下一个可用频率,例如 CPU 支持三个可选频率,分别为 1.67GHz、1.33GHz 和 1GHz ,如果 CPU 运行在 1.67GHz 时 ondemand governor 发现可以降低运行频率,那么 1.33GHz 将被选作降频的目标频率。

  • conservative: 与ondemand不同,平滑地调整CPU频率,频率的升降是渐变式的,会自动在频率上下限调整,和ondemand的区别在于它会按需分配频率,而不是一味追求最高频率。



在动态调节Ondemand模式下的测试:

在性能Performance模式下的测试:




往期文章

交流群:
==欢迎加入飞腾爱好者交流群==
PSPA:
飞腾PSPA可信启动--1 非对称加密
飞腾PSPA可信启动--2 数字签名证书
飞腾PSPA可信启动--3 CA
飞腾PSPA可信启动--4 可信固件环境搭建和打包
硬件:
【视频版】基于飞腾芯片的设计与调试入门指导
飞腾X100 LPDDR颗粒线序配置辅助工具
固件:
飞腾CPU如何使用PXE方式安装麒麟桌面系统?
飞腾CPU BIOS固件生成教程
飞腾uboot命令简单介绍
飞腾平台芯片测试固件(SFW)和开机启动log
飞腾CPU FT-2000/4 uboot下PHY调试记录
E2000从eMMC或SD启动U-boot和系统
E2000 UEFI使用设备树方式启动linux系统
飞腾FT-2000/4、D2000 log报错指导(1)
飞腾FT-2000/4、D2000 log报错指导(2)
飞腾FT-2000/4、D2000 log报错指导(3)
调试:
飞腾FT-2000/4开发板上移植Ubuntu18.04.5且更换飞腾内核4.19.8教程
飞腾平台SPI接口验证简介
[飞腾]Trace32使用概述

欢迎飞腾爱好者加入微信交流群。 群内大家可以在群内交流遇到的问题,分享自己的调试心得。 希望大家共建飞腾友谊!




乌拉大喵喵
建立了飞腾爱好者技术交流群,公众号文章扫码进群,或私信加vx进群。
 最新文章