找回密码
 注册
关于网站域名变更的通知
查看: 574|回复: 1
打印 上一主题 下一主题

Linux动态频率调节系统CPUFreq之概述

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-10-21 10:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
* W) @* W' P$ C
随着技术的发展,我们对CPU的处理能力提出了越来越高的需求,芯片厂家也对制造工艺不断地提升。现在的主流PC处理器的主频已经在3GHz左右,就算是智能手机的处理器也已经可以工作在1.5GHz以上,可是我们并不是时时刻刻都需要让CPU工作在最高的主频上,尤其是移动设备和笔记本电脑,大部分时间里,CPU其实工作在轻负载状态下,我们知道:主频越高,功耗也越高。为了节省CPU的功耗和减少发热,我们有必要根据当前CPU的负载状态,动态地提供刚好足够的主频给CPU。在Linux中,内核的开发者定义了一套框架模型来完成这一目的,它就是CPUFreq系统。
/ T& ?9 [0 F8 U2 K4 [* _
' x" u, ?! s. ^/*****************************************************************************************************/
+ Y8 v/ @! G! o" W
8 S0 V  J3 J; m& ]& R/*****************************************************************************************************/5 c6 E( j) c+ z% L# l$ Z

) \8 x. T1 }$ ~) s: U6 ]1.  sysfs接口
$ G7 r3 |, ?  ~/ s0 p  Q: C- {$ N7 p; `" W/ J
我们先从CPUFreq提供的sysfs接口入手,直观地看看它提供了那些功能。以下是我的电脑输出的结果:
$ S. I3 L6 r$ M: l$ ]/ U! L) q' l) `( K! H
droidphone@990:~$ cd /sys/devices/system/cpu
$ v6 r% f4 r! g2 hdroidphone@990:/sys/devices/system/cpu$ ls5 t& F2 D. P* p0 f2 N
cpu0  cpu3  cpu6     cpuidle     offline   power    release
% b2 v; U2 |3 q0 |cpu1  cpu4  cpu7     kernel_max  online    present  uevent, l4 u3 l  n/ A
cpu2  cpu5  cpufreq  modalias    possible  probe
/ l4 J0 @+ [& m" F# m所有与CPUFreq相关的sysfs接口都位于:/sys/devices/system/cpu下面,我们可以看到,8个cpu分别建立了一个自己的目录,从cpu0到cpu7,我们再看看offline和online以及present的内容:4 q+ @* q6 p5 Z

" i; b" D( T1 H/ `droidphone@990:/sys/devices/system/cpu$ cat online! P! i5 l! b) `1 U7 d' m4 W0 s
0-76 r8 s% y  G1 c( y# `
droidphone@990:/sys/devices/system/cpu$ cat offline
0 f0 x  F, s( r, b. d( X8-15
$ F, h5 O4 O% `4 ~$ O- xdroidphone@990:/sys/devices/system/cpu$ cat present4 B7 V( d! E3 g$ ?/ {" l
0-7# X% Z7 l4 ]& r; U! v+ j9 ?4 K
droidphone@990:/sys/devices/system/cpu$
2 W: O& c, M: B3 u' ?! [  t9 W1 s) h- p6 G7 }: E
online代表目前正在工作的cpu,输出显示编号为0-7这8个cpu在工作,offline代表目前被关掉的cpu,present则表示主板上已经安装的cpu,由输出可以看到,我的主板可以安装16个cpu(因为intel的超线程技术,其实物理上只是8个),第8-15号cpu处于关闭状态(实际上不存在,因为present只有0-7)。
: |2 a& V6 j, N# D6 j5 ^+ j: ~8 f' u  b3 h! t5 s  I' Z
接着往下看:$ R+ U$ l/ y- ^4 y1 V4 M3 b

" j. I3 |5 c5 Gdroidphone@990:/sys/devices/system/cpu/cpu0$ ls( U) y9 q, ?3 S
cache    cpuidle      microcode  power      thermal_throttle  uevent
, ?# L8 b8 r. x3 K& s' ^. s6 {cpufreq  crash_notes  node0      subsystem  topology6 n9 D9 G3 K. t. d8 N3 M
droidphone@990:/sys/devices/system/cpu/cpu0$ cd cpufreq/
, o6 i* g! d+ c- _& G: N7 M/ g1 Jdroidphone@990:/sys/devices/system/cpu/cpu0/cpufreq$ ls
) M4 a+ w2 y% ^7 ?affected_cpus               related_cpus                   scaling_max_freq
; q7 ^) O% n: W" w+ I  v  \bios_limit                  scaling_available_frequencies  scaling_min_freq$ ]; F3 T7 u- _! f9 O! O
cpuinfo_cur_freq            scaling_available_governors    scaling_setspeed
5 i$ f% h" z$ L& \+ u) k- ~cpuinfo_max_freq            scaling_cur_freq               stats
/ Z9 p4 f  P4 zcpuinfo_min_freq            scaling_driver
* C, I! K1 x5 j, f/ d* W: bcpuinfo_transition_latency  scaling_governor
0 v) s' h) @+ Vdroidphone@990:/sys/devices/system/cpu/cpu0/cpufreq$ 2 {. Z' `% X( }  x- s
游客,如果您要查看本帖隐藏内容请回复

' @4 a: Z; k* T' m9 I& B
, q; w8 g# j6 Z) a2 Z! N$ V9 F$ `, n% K

该用户从未签到

2#
发表于 2019-10-24 19:54 | 只看该作者
看看Linux动态频率调节系统CPUFreq之概述。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-24 17:25 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表