Linux内核中CPU主频和电压调整 -- (1)

通过动态改变CPU电压,可以调整CPU主频。

通过改变时钟倍数可以动态改变CPU时钟频率。

一些具有CPU主频率时钟倍数可调能力的处理器,能够在不同的主频率和工作电压之间动态切换;而不需要内核或者用户介入。


术语定义

策略 (Policy) : 在系统中,用户只能选择主频上限和下限,以及是否希望激进的省功耗模式或者更好的处理器性能模式。

管理器(Governor): 在所有的其他cpufreq实现中, 仍然需要设置主频率边界。Governor决定了处理器以何种速度运行在频率限制之内。


如何调整CPU主频策略或速度


sysfs文件系统是缺省控制接口。

一般第一个处理器核的cpufreq控制结点位于 /sys/devices/system/cpu/cpu0/cpufreq/

cpuinfo_min_freq:    该文件指定了处理器能够运行的最低工作频率 (单位: 千赫兹)

cpuinfo_max_freq:   该文件指定了处理器能够运行的最工作频率 (单位: 千赫兹)

cpuinfo_transition_latency:    该文件定义了处理器在两个不同频率之间切换时所需要的时间  (单位: 纳秒)

scaling_driver:          该文件显示该CPU正在使用何种cpufreq driver

scaling_available_governors:  该文件显示当前内核中支持的所有cpufreq governor类型

scaling_governor:  过echo命令,能够改变当前处理器的governor类型

cpuinfo_cur_freq:    当前cpu正在运行的工作频率

scaling_available_frequencies:   所有支持的主频率列表  (单位: 千赫兹)

scaling_min_freq/scaling_max_freq:    显示当前policy的上下限 (单位: 千赫兹)

                               需要注意的是,当改变cpu policy时,需要首先设置scaling_max_freq, 然后是scaling_min_freq

affected_cpus:   需要软件协调频率的CPU列表

related_cpus:     需要软件或者硬件来协调频率的CPU列表

scaling_driver:  cpufreq控制的硬件驱动

scaling_cur_freq:  被governor和cpufreq核决定的当前CPU工作频率。该频率是内核认为该CPU当前运行的主频率

bios_limit:           如果BIOS告知操作系统限制某一cpu到一个低频率,用户能够从此文件中读取其所支持的最大频率。

scaling_setspeed:    如果用户选择了“userspace” governor, 那可以设置cpu工作主频率到某一个指定值。

                            只需要这个值在scaling_min_freq 和 scaling_max_freq之间即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值