通过动态改变CPU电流linux开源软件,可以调整CPU显存。
通过改变时钟倍数可以动态改变CPU时钟频度。
一些具有CPU显存率时钟倍数可调能力的处理器linux内核修改cpu频率,就能在不同的显存率和工作电流之间动态切换;而不须要内核或则用户介入。
术语定义
策略(Policy):在系统中linux内核修改cpu频率,用户只能选择显存上限和下限,以及是否希望激进的省帧率模式或则更好的处理器性能模式。
管理器(Governor):在所有的其他cpufreq实现中,依然须要设置显存率边界。Governor决定了处理器以何种速率运行在频度限制之内。
怎样调整CPU显存策略或速率
sysfs文件系统是缺省控制插口。
通常第一个处理器核的cpufreq控制结点坐落/sys/devices/system/cpu/cpu0/cpufreq/
cpuinfo_min_freq:该文件指定了处理器才能运行的最低工作频度(单位:千赫兹)
cpuinfo_max_freq:该文件指定了处理器才能运行的最高工作频度(单位:千赫兹)
cpuinfo_transition_latency:该文件定义了处理器在两个不同频度之间切换时所须要的时间(单位:脉宽)
scaling_driver:该文件显示该CPU正在使用何种cpufreqdriver
scaling_available_governors:该文件显示当前内核中支持的所有cpufreqgovernor类型
scaling_governor:通过echo命令,才能改变当前处理器的governor类型
cpuinfo_cur_freq:当前cpu正在运行的工作频度
scaling_available_frequencies:所有支持的显存率列表(单位:千赫兹)
scaling_min_freq/scaling_max_freq:显示当前policy的上下限(单位:千赫兹)
须要注意的是,当改变cpupolicy时linux设置环境变量,须要首先设置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之间即可。