Linux内核中CPU主频和电压调整 (一)
2013-03-11 10:44
197 查看
通过动态改变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之间即可。
通过改变时钟倍数可以动态改变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之间即可。
相关文章推荐
- Linux内核中CPU主频和电压调整 (三)
- Linux内核中CPU主频和电压调整 (四)
- Linux内核中CPU主频和电压调整 (一)
- Linux内核中CPU主频和电压调整 -- (2)
- Linux内核中CPU主频和电压调整 (二)
- Linux内核中CPU主频和电压调整 -- (1)
- 迅为iTOP-4412核心板调整电压
- 20121022 用sysctl调整linux内核选项
- 通过调整linux内核参数,支持百万级并发
- 如何调整Linux内核启动中的驱动初始化顺序
- 重编译LINUX内核调整SCTP参数的方法
- Linux内核调整和内核参数详解
- 通过调整linux内核参数,支持百万级并发
- 如何调整Linux内核启动中的驱动初始化顺序-驱动加载优先级
- 关于调整linux内核的几个重要参数
- Linux内核驱动程序初始化顺序的调整
- 如何调整Linux内核启动中的驱动初始化顺序
- 调整Linux内核解决C500k问题
- 如何调整Linux内核启动中的驱动初始化顺序
- Linux内核参数调整