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

合集下载

IO调度算法

IO调度算法

IO调度算法的选择一) I/O调度程序的总结1) 当向设备写入数据块或是从设备读出数据块时,请求都被安置在一个队列中等待完成.2) 每个块设备都有它自己的队列.3) I/O调度程序负责维护这些队列的顺序,以更有效地利用介质.I/O调度程序将无序的I/O操作变为有序的I/O操作.4) 内核必须首先确定队列中一共有多少个请求,然后才开始进行调度.二) I/O调度的4种算法1) CFQ(Completely Fair Queuing, 完全公平排队)特点:在最新的内核版本和发行版中,都选择CFQ做为默认的I/O调度器,对于通用的服务器也是最好的选择.CFQ试图均匀地分布对I/O带宽的访问,避免进程被饿死并实现较低的延迟,是deadline和as调度器的折中.CFQ对于多媒体应用(video,audio)和桌面系统是最好的选择.CFQ赋予I/O请求一个优先级,而I/O优先级请求独立于进程优先级,高优先级进程的读写不能自动地继承高的I/O优先级.工作原理:CFQ为每个进程/线程单独创建一个队列来管理该进程所产生的请求,也就是说每个进程一个队列,各队列之间的调度使用时间片来调度,以此来保证每个进程都能被很好的分配到I/O带宽.I/O调度器每次执行一个进程的4次请求.2) NOOP(电梯式调度程序)特点:在Linux2.4或更早的版本的调度程序,那时只有这一种I/O调度算法.NOOP实现了一个FIFO队列,它像电梯的工作主法一样对I/O请求进行组织,当有一个新的请求到来时,它将请求合并到最近的请求之后,以此来保证请求同一介质.NOOP倾向饿死读而利于写.NOOP对于闪存设备,RAM,嵌入式系统是最好的选择.电梯算法饿死读请求的解释:因为写请求比读请求更容易.写请求通过文件系统cache,不需要等一次写完成,就可以开始下一次写操作,写请求通过合并,堆积到I/O队列中.读请求需要等到它前面所有的读操作完成,才能进行下一次读操作.在读操作之间有几毫秒时间,而写请求在这之间就到来,饿死了后面的读请求.3) Deadline(截止时间调度程序)特点:通过时间以及硬盘区域进行分类,这个分类和合并要求类似于noop的调度程序.Deadline确保了在一个截止时间内服务请求,这个截止时间是可调整的,而默认读期限短于写期限.这样就防止了写操作因为不能被读取而饿死的现象.Deadline对数据库环境(ORACLE RAC,MYSQL等)是最好的选择.4) AS(预料I/O调度程序)特点:本质上与Deadline一样,但在最后一次读操作后,要等待6ms,才能继续进行对其它I/O请求进行调度.可以从应用程序中预订一个新的读请求,改进读操作的执行,但以一些写操作为代价.它会在每个6ms中插入新的I/O操作,而会将一些小写入流合并成一个大写入流,用写入延时换取最大的写入吞吐量.AS适合于写入较多的环境,比如文件服务器AS对数据库环境表现很差.三) I/O调度方法的查看与设置1) 查看当前系统的I/O调度[root@test1 tmp]# cat /sys/block/sda/queue/schedulernoop anticipatory deadline [cfq]2) 临时更改I/O调度例如:想更改到noop电梯调度算法:echo noop > /sys/block/sda/queue/scheduler3) 永久更改I/O调度修改内核引导参数,加入elevator=调度程序名[root@test1 tmp]# vi /boot/grub/menu.lst更改到如下内容:kernel /boot/vmlinuz-2.6.18-8.el5 ro root=LABEL=/ elevator=deadline rhgb quiet重启之后,查看调度方法:[root@test1 ~]# cat /sys/block/sda/queue/schedulernoop anticipatory [deadline] cfq已经是deadline了四) ioniceionice可以更改任务的类型和优先级,不过只有cfq调度程序可以用ionice.有三个例子说明ionice的功能:采用cfq的实时调度,优先级为7ionice -c1 -n7 -ptime dd if=/dev/sda1 f=/tmp/test bs=2M count=300&采用缺省的磁盘I/O调度,优先级为3ionice -c2 -n3 -ptime dd if=/dev/sda1 f=/tmp/test bs=2M count=300&采用空闲的磁盘调度,优先级为0ionice -c3 -n0 -ptime dd if=/dev/sda1 f=/tmp/test bs=2M count=300&ionice的三种调度方法,实时调度最高,其次是缺省的I/O调度,最后是空闲的磁盘调度.ionice的磁盘调度优先级有8种,最高是0,最低是7.注意,磁盘调度的优先级与进程nice的优先级没有关系.一个是针对进程I/O的优先级,一个是针对进程CPU的优先级.。

关于各个CPU调速器的说明

关于各个CPU调速器的说明

以下是一些收集CPU调速器资料后作出的简单分析,欢迎大家纠错、讨论CPU调速器(CPU Governors)调速器决定了手机CPU的工作方式,也可以说是频率自动调整的逻辑,直接关联到手机的性能与功耗常见的调速器:PerformancePowersaveUserspaceOndemandOndemandXConservativeInteractiveInteractiveXsmartassSmoothassSmartassV2LagFreeBrazilianwaxIntellidemandLazyLionheartLionheartXLuzactiveSavagedzenScaryWheatleyHotplugMinmaxBadassPegasusq / PegasusdMSM-DCVS详细介绍:Performance (Always Max)强制CPU一直运行在最高频率优点: 良好的性能、速度缺点: 大功耗,糟糕的电池续航时间,导致手机发热较严重,长期使用会对硬件造成一定的物理损坏Powersave (Always Min)强制CPU一直运行在最低频率优点:最小的功耗,最长的续航时间,最好的发热控制缺点:糟糕的性能,运行不流畅,有延迟、卡顿Userspace用户控制模式,这不是一个预制调速方案的调速器,它允许用户通过非操控内核的方法调节CPU,但是事实在出现"set cpu"这类软件之后就等于废物了优点:无缺点:无Ondemand按照实际需求快速进行频率调节优点:基本上实现了平衡,不错的性能兼有不错的续航缺点:不断地调整CPU频率消耗了一定的电力,导致这只能是一个“理想中”完美的调速器,频率升高时也偏敏感了一些(例如需要500,可能会给你升到650)Ondemand X基于Ondemand改进,区分开关屏状态情景优点:比Ondemand省电缺点:关屏状态下的频率被锁定在一个特定值某些情况下可能睡死,稳定性不如OndemandConservative与Interactive相对,保守的调解方案,缓慢地提升频率,迅速地下降频率优点:比Ondemand稍省电,在真的需要之前不会提高频率缺点:缓慢地提升频率意味着在打开一些较大的APP或尝试唤醒待机中的机器会较慢Interactive与Conservative相对,快速提升频率,缓慢降低频率优点: 比Ondemand稍强的性能,较快的响应速度缺点: 在不需要时仍然维持较高的频率,比Ondemand耗电Interactive X基于Interactive改进,区分开关屏状态情景优点:比Interactive省电缺点:稳定性不如InteractiveSmartassInteractive与Ondemand合体,理想中的完美品优点: 比Ondemand更好的性能,比Interactive更好的续航缺点: 频率下降在不需要时仍然偏慢(虽然比Interactive好),关屏后盲目降频有时导致后台程序(比如同时挂着QQ,微信,微博)工作不正常Smoothass优化过的Smartass,快速调节频率平衡续航与性能优点:理论上比Smartass好的续航缺点:类似于Smartass,虽然真的比Smartass略好但频率下降在不需要时偏慢仍然存在SmartassV2重写的第二代Smartass,添加结合Conservative的一些特性优点: 在Smartass的基础上更好的性能与省电缺点: 关屏后的问题仍然没有解决LagFree开屏后一下子跳到一个中度偏高频率,然后类似Conservative地工作优点:算是解决了Conservative的迟钝问题缺点:电老虎,虽然比Performance省电...Lazy偏向Conservative的Ondemand,据说播放影音很好用优点:在频率提升/下降前都先调到一个特定的值,降低了关屏状态的最大值缺点:比Ondemand发热稍厉害,执行耗费较多资源的应用时如果进入了关屏状态过久可能会睡死Brazilianwax类似SmartassV2,比SmartassV2更积极提高频率优点:比SmartassV2好的性能缺点:比SmartassV2差的续航Intellidemand以Ondemand为基础,根据GPU状态区分情景优点:GPU忙时依照Ondmand模式工作,GPU"空转"或中度使用时频率锁定在定值缺点:执行不太依存GPU运算但较耗费CPU资源的应用时可能会性能不足,GPU“空转”(闲时)不够省电Lionheart基于Conservative降低了频率下降的敏感度优点:比Conservative强的性能缺点:进入高频率后几乎成了Performance模式Lionheart X优化后的Lionherat优点:结合了一点Smartass的特定,降低功耗缺点:稳定性不如LionheartLuzactive更偏向Interactive的Smartass,分几个固定的档进行调控优点:分几个固定的档进行调控,性能功耗比较平衡缺点:分几个固定的档不够灵活,关屏会设定为最低处理器速度可能导致睡死Savagedzen基于SmartassV2编写,比Brazilianwax平衡优点:比SmartassV2好但比Brazilianwax差的性能,比SmartassV2差但比Brazilianwax好的续航缺点:稳定性不如BrazilianwaxScary基于Ondemand,提速比Ondemand慢优点:比Ondemand省电缺点:频率提升慢了有时候会叫人抓狂..Wheatley基于Ondemand,提速降速都比Ondemand慢优点:比Ondemand省电缺点:频率提升慢了有时引发卡顿,比Scary耗电Hotplug基于Ondemand,有性能需求直接最高,没性能需求直接最低优点:简单粗暴,还算平衡缺点:性能需求属于中度的情何以堪...Minmax基于SmartassV2改进优点:比SmartassV2好的性能缺点:比SmartassV2耗电Badass只能用于多核CPU,分开控制单个CPU核心优点:节省资源,耗电和性能较平衡缺点:对内核要求苛刻,稳定系欠佳Pegasusq / Pegasusd源自Samsung Exynos,单独调控单个CPU核心(资料不足)优点:理论上耗电性能较平衡缺点:不确定与其他芯片的兼容性,不确定三星芯片发热相对较大是否与此有关MSM-DCVS高通Krait核心芯片独有(资料不足)优点:据说可以用低功率获得高性能缺点:高通=睾痛(undefined开玩笑的)。

CPU超频以及IO调度模式详解

CPU超频以及IO调度模式详解

CPU超频以及IO调度模式详解CPU模式:ondemand【按需模式】官方及xray内核默认为此项调节模式,顾名思义,按需调节cpu 频率,不操作手机的时候控制在最低频率,滑屏或进入应用后会迅速提升至最高频率,当空闲时迅速降低频率,性能较稳定,但因频率变化幅度过大,省电方面只有一般的水平。

powersave【省电模式】按设定最低频率运行,最省电也最龟速,日常没有使用价值,除非配合setcpu情景模式,关屏睡眠时使用此调节模式performance【高性能模式】和省电模式相反,始终按设定最高菜谱频率运行,最耗电也最刚猛!此模式亦无任何日常使用价值,果断passuserspace【用户隔离】严格来说它并不是一个模式,是允许非内核进程控制cpu频率的设置,现在已经不需要它了,setcpu官方的建议是,“不要使用此选项”。

conservative【保守模式】和ondemand模式的调频设定类似,不过有操作时提升cpu频率的速度较慢,空闲时迅速降频,所以名字叫保守模式,性能较低,省电程度略好于ondemand,随着CPU负荷加大,频率逐级上升,在CPU闲时频率逐级下降,因此这个设置相对于ondemand模式省电,但变频不够顺滑,所以会有卡顿现象。

总体不推荐interactive【交互模式】相对于保守模式,这个模式算是高性能版的ondemand,开始操作手机后,频率升至最高,可以带来更好的响应速度,空闲时缓慢降至设定最低频率。

电量自然也是要多费一点。

interactivex交互模式的修改优化版,开屏后进入更好的频率管理方式,比交互模式略省电。

hotplugray没有此模式,多核机型上可用,在不需要的时候关闭多余核心,其他部分调节方式与ondemand相同。

smartass【智能调节模式】相当于是一个预置的profile,交互模式的另一个修改版,更加省电。

根据资源使用智能提供一个适中的频率,空闲时自动降频,锁屏时自动固定频率。

操作系统中的CPU调度

操作系统中的CPU调度

操作系统中的CPU调度一、CPU调度的基本概念CPU调度是操作系统的一个非常重要的功能,它控制着CPU 在多任务环境下的运作。

在多任务环境下,CPU必须要对不同的进程进行处理,CPU调度就是指根据一定的算法,在所有可执行的进程中选择一个进程,让它占用CPU,运行一段时间,并在执行完毕后释放CPU,然后选择下一个可执行的进程进行处理,这样就能够合理地利用CPU资源,提高系统的响应速度和吞吐量。

二、CPU调度的基本算法CPU调度的主要任务是在可执行的进程中选择一个进程让其运行,并在一定的时间之后切换到另一个进程进行处理。

但是,在实际中需要考虑的问题是如何选择进程,并且进程切换所带来的开销不能太大。

因此,CPU调度的算法就成了关键。

CPU调度算法主要有以下几种:1. 先来先服务算法(FCFS)FCFS是最早的调度算法,它简单易懂,就是按照进程到达的顺序来排序,先到达的进程先执行,完成后才能运行后面到达的进程。

但是,这种算法存在“饥饿”现象,即如果某个进程运行时间过长,其他进程就无法得到及时的处理。

2. 最短作业优先算法(SJF)SJF算法是根据进程的运行时间来排序的。

处理器会选择那些需要时间最短的进程进行处理。

这种算法速度快,但是会出现“饥饿”现象,即某些进程的运行时间太长,导致其他进程无法得到及时的处理。

3. 时间片轮转算法(RR)RR算法是在时间片为单位对进程进行轮流处理。

每个进程分配一个时间片,当时间片用完时,处理器会停止这个进程的运行,并且把它放到等待队列的末尾,然后从队列的头部选择下一个进程。

这种算法能够避免“饥饿”的现象,但是会带来一定的上下文切换开销。

4. 优先级算法(Priority)Priority算法是根据进程的优先级进行判断的。

进程的优先级越高,就越容易被处理器调度。

但是,这种算法存在的问题就是某些优先级低的进程可能会一直得不到执行。

5. 多级反馈队列算法(MFQ)MFQ算法是一种复杂的算法,它将进程划分为多个队列,分配不同的时间片用于不同的队列。

CPU调度——精选推荐

CPU调度——精选推荐

CPU调度CPU调度引⼊了线程,对于⽀持它们的操作系统,是内核级的线程被操作系统调度,⽽不是进程。

不过,术语线程调度或进程调度常常被交替使⽤。

在讨论普通调度概念时使⽤进程调度,特别指定为线程概念时使⽤线程调度。

基本概念CPU-I/O区间周期CPU的成功调度依赖于进程的如下属性:进程执⾏由CPU执⾏和I/O等待周期组成。

进程在这两个状态之间切换。

进程执⾏从CPU区间(CPU burst)开始,在这之后是I/O区间(I/O burst),接着是另⼀个CPU区间,然后是另⼀个I/O区间,如此进⾏下去。

CPU调度程序每当CPU空闲时,操作就必须从就绪队列中选择⼀个进程来执⾏。

进程选择由短期调度程序(short-term scheduler)或CPU调度程序执⾏。

调度程序从内核中选择⼀个能够执⾏的进程,并为之分配CPU。

就绪队列不必是先进先出(FIFO)队列。

就绪队列可实现为FIFO队列,优先队列,树或简单的⽆序链表。

不过从概念上来说,就绪队列内的所有进程都要排队以等待在CPU上运⾏。

队列中的记录通常为进程控制块(PCB)。

抢占调度CPU调度决策可在如下4种环境下发⽣:当⼀个进程从运⾏状态切换到等待状态(例如,I/O请求,或调⽤wait等待⼀个⼦进程的终⽌)。

当⼀个进程从运⾏状态切换到就绪状态(例如,当出现中断时)当⼀个进程从等待状态切换到就绪状态(例如,I/O完成)当⼀个进程终⽌对于第1和第4两种情况,没有选择⽽只有调度。

⼀个新进程(如果就绪队列中已有⼀个进程存在)必须被选择执⾏。

不过,对于第2和第3两种情况,可以进⾏选择。

当调度只能发⽣在第1和第4两种情况下时,称调度⽅案是⾮抢占的(nonpreemptive)的或协作的(cooperative);否则,称调度⽅案是抢占的(preemptive)。

采⽤⾮抢占调度,⼀旦CPU分配给⼀个进程,那么该进程会⼀直使⽤CPU知道进程终⽌或切换到等待状态。

中断能随时发⽣,⽽且不能总是被内核所忽视,所以受中断影响的代码段必须加以保护以避免同时访问。

学习一下安卓cpu调速器与IO调度基本知识

学习一下安卓cpu调速器与IO调度基本知识

本人一直不明白安卓cpu 和I/O,今日有幸找到,分享给大家一、CPU调速器现在很内核都会增加新的CPU调速器,很多人不知道内核中的CPU调速器有什么用,下面转一个CPU调速器Governor说明:什么是Governor?→Android的CPU 的频率并不是一成不变的,会因应程式所需而调整频率,通常会视乎CPU Loading% 而升/降频,在特定时间再检查是否升/降。

Governor就是默认的情景模式。

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

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

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

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

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

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

比interactive更注重保护电池。

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

操作系统处理器调度

操作系统处理器调度

总结词
综合考虑等待时间和所需计算时间进行 调度,响应比高的进程优先获得处理器 。
VS
详细描述
HRRN是一种兼顾等待时间和所需计算时 间的调度算法。当一个进程到达时,系统 计算其响应比(等待时间与执行时间的比 值),选择响应比最高的进程优先执行。
优先级调度
总结词
为每个进程分配一个优先级,优先级高的进程优先获得处理器。
操作系统处理器调度
汇报人: 202X-12-24
目录
• 处理器调度概述 • 进程调度 • 实时调度 • 多处理器调度 • 处理器调度的性能评估
01
处理器调度概述
定义与目标
定义
处理器调度是操作系统中用于分配处 理器时间给进程的任务。
目标
确保公平性、响应性和系统吞吐量, 同时避免饥饿和死锁。
调度级别
高级调度
决定哪些进程应该运行,通常基于优先级或进程 的等待时间。
低级调度
决定哪个进程正在运行,以及何时切换进程。
中级调度
将进程从主存调出到辅存,或从辅存调入主存。
调度策略
先来先服务(FCFS): 按照到达顺序进行调度, 不考虑等待时间和优先级 。
最短剩余时间优先(SRF ):优先调度剩余时间最 短的作业。
吞吐量
01
指单位时间内完成的作业数量。
计算公式
02
吞吐量 = (作业数 / 时间)
影响因素
03
处理器速度、作业性质、调度策略等。
等待时间
01
等待时间
作业在等待处理器上的时间总和 。
计算公式
02
03
影响因素
等待时间 = (等待时间总和 / 作 业数)
作业到达时间和处理器分配时间 。

android cm7系统cpu变速器设置

android cm7系统cpu变速器设置

Android系统CM7中变速器设置、解析在CM7中我们可以利用CM的特色设置迅速快捷地调整CPU的运行方式,以达到省电的目的。

步骤是:设置——CM设置——性能——CPU设置——可用的调速器~这时我们可以看到有interactive、conservative、userspace、powersave、ondemand及performance几个选项。

首先,interactive模式的运行方式我不太清楚erspace貌似是一种自定义模式,怎么自定义我也不清楚...剩下的4个里,performance和powersave是一组。

performance下,CPU会保持运行在最高频率;powersave下,CPU则保持运行在最低频率。

ondemand及conservative是另外一组。

其中,ondemand是CM7的默认调速器,在ondemand 下,CPU会规律性地检查负载状况,当负载量超过了某临界值,CPU会自动调整运行在最高频率下,而当负载量再度回落,CPU会调整运行在次低一级的频率(而非直接降至最低频率)。

而conservative与ondemand不同的地方就在于,当负载超过某临界值时,CPU会调整运行至更高一级的频率(而非直接跳至最高频率)。

也就是说,ondemand下CPU的做法是对手一反抗,直接发大招。

conservative下CPU的做法是道高一尺,魔高一丈...不管那两个我不清楚的模式...在另外四种模式中,耗电量从小到大的排序应该是powersave、conservative、ondemand、performance。

powersave模式是省电,但卡得厉害。

因此,conservative 便成为我们唯一的选择。

经过本人实践,consevative确实要比ondemand模式下更为省电(通过观察currentwidget记录的log),而且也不算太卡。

当然,由于本人并非游戏党,所以在性能与耗电的平衡中才最终选择了conservative(其实我也不太清楚conservative模式对游戏性能究竟能有多大影响,感觉无非就是CPU多蹦几下嘛...)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

现在很多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 调度模式,太强调均衡,而降低了连续读写数据的性能。

相关文档
最新文档