当前位置:文档之家› 【发烧友文献】安卓系统下CPU调速器和IO调度详解(中文说明)

【发烧友文献】安卓系统下CPU调速器和IO调度详解(中文说明)

现在很多rom 都有超频内核,很多人不知道内核中的CPU 调速器有什么用下面给大家详细介绍一下CPU 调速器Governor说明说明::什么是Governor?→Android 的CPU 的频率并不是一成不变的的频率并不是一成不变的,,会因应程式所需而调整频率会因应程式所需而调整频率,,通常会视乎CPU Loading%而升而升//降频降频,,在特定时间再检查是否升在特定时间再检查是否升//降。

Governor 就是默认的情景模式。

【ondemand ondemand】按需模式】按需模式】按需模式::→按需调节cpu 频率频率,,不操作手机的时候控制在最低频率不操作手机的时候控制在最低频率,,滑屏或进入应用后会迅速提升至最高频率最高频率,,当空闲时迅速降低频率当空闲时迅速降低频率,,性能较稳定性能较稳定,,但因频率变化幅度过大但因频率变化幅度过大,,省电方面只有一般的水平。

是一种在电池和性能之间趋向平衡的默认模式水平。

是一种在电池和性能之间趋向平衡的默认模式,,但是对于智能手机来说但是对于智能手机来说,ondeman ,ondeman ,ondemandd 在性能表现方面略有欠缺。

【interactive interactive】交互模式】交互模式】交互模式::→和ondemand 相似相似,,规则是规则是““快升慢降快升慢降””,注重响应速度注重响应速度、、性能性能,,当有高需求时迅速跳到高频率频率,,当低需求时逐渐降低频率当低需求时逐渐降低频率,,相比ondemand 费电【conservative conservative】保守模式】保守模式】保守模式::→和ondemand 相似相似,,规则是规则是““慢升快降慢升快降””,注重省电注重省电,,当有高需求时逐渐提高频率当有高需求时逐渐提高频率,,当低需求迅速跳至低频率。

【OndemandX OndemandX】按需】按需X 模式模式::→在Ondemand 基础上改进而来。

关屏时手机进入睡眠状态时,锁定最高频率频率为500Mhz【Scary Scary】胆小模式】胆小模式】胆小模式::→基于Ondemand 修改修改,CPU,CPU 提升速度比ondemand 慢,同时具有smartass 的特点【interactiveX interactiveX】交互】交互X 模式模式::→在interactive 基础上改进而来。

关屏时手机进入睡眠状态时基础上改进而来。

关屏时手机进入睡眠状态时,,锁定频率为最低值锁定频率为最低值,,同时在手机唤醒时能有更好的提升表现。

比interactive 更注重保护电池。

【Wheatley Wheatley】惠特利模式】惠特利模式】惠特利模式::→规则和Ondemand 一样一样,,但是响应速度稍慢但是响应速度稍慢,,比Ondemand 省电【hotplug hotplug】热拔插模式】热拔插模式】热拔插模式::→和ondeman ondemand d 模式差不多模式差不多,,当有高需求时直接跳到最高频率当有高需求时直接跳到最高频率,,当需求见效时逐级降低频率当需求见效时逐级降低频率,,但关屏时就单核低频运行但关屏时就单核低频运行,,省电。

【lionheart lionheart】狮心模式】狮心模式】狮心模式::→基于conservative 模式模式,,但性能有所提高但性能有所提高,,增快了CPU 的调整速度【lulzactive lulzactive】级别模式】级别模式】级别模式::→在interactiv interactive e 基础基础,,根据负载逐级升高或降低频率根据负载逐级升高或降低频率,,每一级频率有一个限制值每一级频率有一个限制值,,负载高于限制值就提高一级频率制值就提高一级频率,,低于限制值就降低一级频率。

所以这个调速器在各个频率上的停留时间都很短。

这个调速器的特点是在各个频率之间频繁变动间都很短。

这个调速器的特点是在各个频率之间频繁变动,,但是运行于最高和最低频的时间最多。

【smartass smartass】聪明模式】聪明模式】聪明模式::→是interactive 和conservative 的升级的升级,,根据资源使用智能提供一个适中的频率根据资源使用智能提供一个适中的频率,,空闲时自动降频自动降频,,锁屏时自动固定频率。

特色是锁屏后非常省电。

缺点是部分机型锁屏一段时间后容易睡死。

【smartassV2smartassV2】聪明】聪明】聪明22模式模式::→smartass 的升级版的升级版,,平衡效能和耗电平衡效能和耗电,,升频快升频快,,降频慢降频慢,,同时间亦会于锁屏时将频率降到最低,集成了休眠策略集成了休眠策略,,不单单是指关了屏幕和开着屏幕的区别。

【smoothass smoothass】活跃模式】活跃模式】活跃模式::→在smartass 基础上改进得来的基础上改进得来的,,性能更高性能更高,,调节速度更快调节速度更快,,耗电少【SavagedZen SavagedZen】平衡模式】平衡模式→在smartass 的基础优化而来的基础优化而来,,同时注重电池和性能同时注重电池和性能,,使CPU 达到一个更好的整体平衡【BrazilianWax BrazilianWax】巴兹拉模式】巴兹拉模式】巴兹拉模式::→基本就和smoothass 一样【Minmax Minmax】大小模式】大小模式】大小模式::→基于conservativ conservative e 的优化版的优化版,,类似smartassV2,smartassV2,速度性能最好速度性能最好速度性能最好,,比smartassV2smartassV2略微耗掉略微耗掉【intellidemand intellidemand】智能模式】智能模式】智能模式::→可根据GPU 使用情况来针对性调节cpu 频率频率,,当GPU 于重度使用时,所有动作都依所有动作都依照照ondemand 不变。

当不变。

当3GP 3GP 于闲置时于闲置时,,会自动限制cpu 最高频率最高频率,,将CPU 最高频率锁死于1.0Ghz 以减少耗电。

关屏时亦会视乎GPU 情况而作出调整。

【Pegasusq Pegasusq】单控模式】单控模式】单控模式::→源自三星猎户座处理器的一个调速器源自三星猎户座处理器的一个调速器,,可以单独调控单个CPU 内核内核,,理论上性能不错也很省电。

【badass badass】分工模式】分工模式】分工模式::一个新型的CPU 调速器调速器,,只能用于多核CPU,CPU,可分开控制单个可分开控制单个CPU 内核内核,,来分工完成不同的工作工作,,并且跟着工作量的不同并且跟着工作量的不同,,分别调整单个CPU 内核的频率内核的频率,,从而提高性能从而提高性能,,节省资源节省资源。

这个模式现在好像只能用在特定修改的rom 中【performance performance】高性能模式】高性能模式】高性能模式::→高性能模式高性能模式,,按你设定范围的最高频率运行按你设定范围的最高频率运行,,即使系统负载非常低cpu 的频率也为最高的频率也为最高。

性能很好能很好,,因为CPU 本身不需要资源去调整频率本身不需要资源去调整频率,,但是电量消耗较快但是电量消耗较快,,温度也高一些。

【powersave powersave】省电模式】省电模式】省电模式::→按设定最低频率运行按设定最低频率运行,,日常没有使用价值日常没有使用价值,,除非配除非配合合setcp setcpu u 情景模式情景模式,,关屏睡眠时使用此调节模式节模式,,省电但系统响应速度慢。

【userspace userspace】用户模式】用户模式】用户模式::→任何情况下都会控制CPU 运行在配置的频率范围内运行在配置的频率范围内,,配置中的用户自己添加的省电设置配置中的用户自己添加的省电设置。

在此情景模式下在此情景模式下,,降低CPU 最大运行频率可以延长电池待机时间最大运行频率可以延长电池待机时间,,但同时也会降低机器的唤醒速度醒速度,,建议最好不使用该选项。

【lagfree lagfree】无延迟模式】无延迟模式】无延迟模式::→很少用的调速器很少用的调速器,,不紧不慢型不紧不慢型,,无论负载变化快慢与否无论负载变化快慢与否,CPU,CPU 都按一定的停顿时间逐级升高或降低频率。

【lazy lazy】懒惰模式】懒惰模式】懒惰模式::→与ondemand 相似相似,,对于频率上升和下降的响应都很迟缓对于频率上升和下降的响应都很迟缓,,可以忽略掉部分迅速变化的频率变化频率变化,,优点是省电。

I/O 调度模式:(i/o 即input/output 的缩写的缩写,,关于数据的读写操作关于数据的读写操作,,不同进程请求数据的优先顺序等等不同进程请求数据的优先顺序等等。

io 调度模式比较复杂,我没有具体测试,这里仅对ray 上出现的几个模式做说明,部分参考xda xda、、androidforums androidforums、、wik1pedia wik1pedia、、linuxarchive 资料)noop这个调度模式会把所有的数据请求直接合并到一个简单的队列里这个调度模式会把所有的数据请求直接合并到一个简单的队列里。

不适合有机械结构的存储器,因为没有优化顺序,会增加额外的寻道时间。

属于最简单的一个调度模式,无视io 操作优先级和复杂性,执行完一个再执行一个,如果读写操作繁多的话,就会造成效率降低作优先级和复杂性,执行完一个再执行一个,如果读写操作繁多的话,就会造成效率降低。

anticipatory其实这个有点类似于pc 硬盘的NCQ 功能,执行有预测性的调度,看起来似乎可以提高效率,不过因为它的预测机制会在进程将要结束一个读写操作时时开始准备下一个的预处理率,不过因为它的预测机制会在进程将要结束一个读写操作时时开始准备下一个的预处理,,所以会打乱系统正常的连续io 调度,降低随机存取效率。

用的人很少,不推荐。

deadline顾名思义顾名思义,,用过期时间来排序io 操作顺序操作顺序,,保证先出现的io 请求有最短的延迟时间请求有最短的延迟时间,,相对于写操作,给读操作更优先的级别。

是比较好的一个调度模式。

cfq完全公平队列完全公平队列,,是anticipatory 模式的替代品模式的替代品,,没有过多的做预测性调度没有过多的做预测性调度,,而是根据给定的进程io 优先级,直接来分配操作的顺序。

这个模式在linux 上表现良好,但也许并不是最适合android 的io 调度模式,太强调均衡,而降低了连续读写数据的性能。

相关主题