Por dentro da linguagem do OS Android: "Governor" e "I/O Scheduler"

Por dentro da linguagem do OS Android: "Governor" e "I/O Scheduler"

Quando fazemos o root, trocamos a ROM ou o Kernel originais de um aparelho Android pela primeira vez, quase todos temos a mesma reação, vamos ver quais foram as novas funções adicionadas no aparelho e, em muitos casos, nos deparamos com o aplicativo No-frills CPU Control/Controle Simples da CPU, ilustrado na imagem abaixo. E agora, o que fazer? O que significa cada uma destas opções? Como eu também passei por isso, aqui segue uma explicação sobre o que é, para quê serve e como utilizar as opções "Governor" e "I/O Scheduler" deste aplicativo.

Governador i o scheduler
Entenda algumas das opções do aplicativo Controle Simples da CPU. / © NextPit

Em primeiro lugar, saiba que é através desse App que você faz o oveclock no aparelho, se disponível. O que a maioria não sabe é que usando a combinação certa de "Governor" e "I/O Scheduler", se pode aumentar o desenpenho do aparelho ou diminuir o consumo da bateria entre outras funções.

GOVERNOR

Atualmente, no kernel CoCoRe 4.0 temos 20 "Governors", mas o que são? A grosso modo pode se dizer que são scripts que governam como a CPU vai se comportar em cada situação durante o manuseio do aparelho. Aqui vou falar de uma forma simples sobre os mais comuns:

1 - ONDEMAND

A principal característica deste "Governor" é a rapidez com que ele sai da frequência mínima de trabalho da CPU para a frequência máxima ao se iniciar uma tarefa e, após o término ele retorna aos poucos para a frequência mínima novamente. Este "Governor" é quase que padrão de fábrica nos aparelhos devido ao salto quase que instantâneo do mínimo para o máximo de frequência da CPU, com isso temos aquela rapidez e fluidez que tanto adoramos e procuramos, só que isso implica diretamente na duração da bateria.

2 - ONDEMAND 2

Supostamente o Ondemand 2 é mais amigável para a bateria, pois quando esta com a tela desligada, se um app que funcione em segundo plano exigir da CPU, ele não irá ao máximo da CPU como o outro, só irá até 500mhz.

3 - PERFORMANCE

Esse "Governor" bloqueia a CPU em frequência máxima, o que nem sempre se traduz em rapidez pelos testes que fiz, fora que o consumo de bateria é alto.

4 - POWERSAVE

Ao contrário do anterior, o Powersave, como o nome já diz, bloqueia a CPU em frequência mínima e poupa bateria, mas derruba a performance do aparelho.

5 - CONSERVATIVE

Esse "Governor" tem preferência pela frequência mínima, ou seja, ele demora para chegar ao máximo da CPU, mas volta imediatamente para o mínimo, é considerado um "Ondemand" lento, para se ter uma ideia.

6 - USERSPACE

Este "Governor" excepcionalmente raro para o mundo dos dispositivos móveis, permite que qualquer programa executado pelo usuário defina a frequência da CPU. Este "Governor" é mais comum entre servidores ou desktops, onde a aplicação (como um aplicativo de perfil de energia) precisa de privilégios para definir a velocidade de clock da CPU.

7 - MINMAX

Bom, o nome já dá uma idéia do que seja, este "Governor" usa só o mínimo e o máximo de frequência, logo, não usa frequências intermediárias.

8 - INTERACTIVE

Muito parecido com o "Ondemand", este "Governor" tem escalas de frequências definidas pelo programador do kernel, o que significa que ele se ajusta melhor à demanda de serviço da CPU imposta pelo usuário, só indo a frequência máxima se realmente necessário, isso implica na vida útil e na durabilidade da bateria.

9 - SMARTASS

Outro "Governor" interativo que tem como diferencial a frequência máxima de operação com tela desligada/em repouso de 352mhz, o que influencia também na duração da bateria.

10 - SMARTASS V2

Esta é a segunda versão do "Smartass", onde se dá prioridade ao equilibrio desempenho/consumo.

11 - SCARY

É um "Governor" conservador, que sempre dá preferência para as frequências mais baixas, tendo um limite de frequência com tela desligada de 245mhz, mesmo que você tenha definido uma frequência mínima superior a esta.

12 - LAGSFREE

O "Lagsfree" é um "Governor" que utiliza uma escala pré-definida de frequências para subir ao 100% da CPU, teoricamente, é mais amigável para a bateria, mas existem relatos de que para reprodução de videos é lento.

13 - BRASILIANWAX

Este é semelhante ao "Smartass v2", mas com uma rampa de frequência mais agressiva, o que implica maior consumo de bateria.

14 - INTELLIDEMAND

Com base no "Ondemand", com a diferença de que ele se baseia na carga de trabalho da GPU do aparelho, este "Governor" equlibra a escalada da frequência da CPU conforme a GPU necessitar, é basicamente um "Ondemand" inteligente.

15 - HOTPLUG

É semelhante ao "Ondemand", com o diferencial que ele tem a capacidade de desligar um núcleo do processador, quando o sistema estiver ocioso e reinicia-lo imediatamente quando exigido, é obivio que só funciona em aparelhos multicore.

I/O SCHEDULER

De uma forma simples, o "I/O Scheduler" é como o kernel controla o acesso ao disco rígido. Assim como o "Governor" existem alguns "I/O's" mais comuns que se apresentam nos nossos smartphones:

1 - NOOP

Coordena os dados I/O solicitados ao disco, sendo que se adecua melhor com unidades flash como é o caso dos smarphones.

Vantagens: Serve solicitações de I/O com menor número de ciclos da CPU (mais amigavel para a bateria).

Desvantagens: A redução do número de ciclos de CPU utilizada é proporcional à queda de desempenho.

2 - DEADLINE

Basicamente é um super organizador de I/O, diminuindo assim a latência (atraso) na solicitação de uma informação. Isso se consegue através de um rodizio de I/O's solicitados, para ser justo entre vários pedidos.

Vantagens: Quase um programador em tempo real, melhor planejador para acesso e consulta de dados.

Desvantagens: Quando o sistema está sobrecarregado, conjunto de processos que podem perder prazo é largamente imprevisível.

3 - CFQ

Um programador escalonado, tenta distribuir a mesma "fatia" de tempo para cada solicitação de I/O.

Vantagens: Desempenho de I/O mais equilibrado, se ajustando melhor em multicores.

Desvantagens: Solicitações de I/O multimídias pondem ser mais lentas, devido a distribuição de tempos iguais para todas as solicitações.

4 - BFQ

Em vez de fatias de tempo, ele distribui "orçamentos" (números de setores em disco), para as solicitações de I/O.

Vantagens: Melhor desenpenho na transferência de dados pelo USB, considerado um programador de I/O preciso.

Desvantagens: Não obtem melhor desenpenho geral em benchmark e um orçamento muito grande pode gerar uma certa latência.

5 - SIO

Faz o agendamento de I/O's simples, tem como objetivo manter o mínimo de sobrecarga para atender as solicitações.

Vantagens: Simples e confiável.

Desvantagens: Leitura em drives flash é inferior aos outros I/O schedulers.

6 - V(R)

Basicamente é um gerenciador de I/O por ordem de chegada, o primeiro da fila é o primeiro a ser atendido.

Vantagens: Pode ser melhor para o benchmarking, pois no auge da sua "forma" VR tem o melhor desempenho.

Desvantagens: Menos confiável, mais instável.

Qual é a melhor combinação de Governos e I/O Scheduler?

Bom, isto depende do perfil do usuário, do kernel do aaprelho, so processador e por aí vai. Como disse lá no início, é na experimentação que você irá descobrir qual o melhor para você, lembrando que ainda existem apps nos quais se pode programar perfis diferenciados para cada hora do dia e da noite, nos horários onde você mais exige do sistema ou não, como não ligo muito para a duração de bateria, uso um perfil bem agressivo e de alta performance, mas de alto consumo, e você? Qual é o seu perfil? Deixe-nos saber a sua opinião nos comentários abaixo.

Artigo seguinte
35 Comentários
Escreva um comentário:
Todas as mudanças foram salvas. Não há rascunhos salvos no seu aparelho.
Escreva um comentário:
Todas as mudanças foram salvas. Não há rascunhos salvos no seu aparelho.

  • 42
    Conta desativada 05/07/2017 Link para o comentário

    Ainda não aprendi ¬¬


  • Evandro de a. 1
    Evandro de a. 08/04/2017 Link para o comentário

    Pra mim tem que ter um baixo consumo de bateria e rapidez no desenpenho do cel...vou estudar com mais calma qual desses perfis perfis eu vou usar.alquem tem uma dica pra mim usar?tenho um lg g3 e preciso de economia na bateria......


    • Silas Inácio 1
      Silas Inácio 15/12/2017 Link para o comentário

      Interactive e maple ou zen


  • Luan Vaz 1
    Luan Vaz 07/12/2016 Link para o comentário

    Esse artigo me salvou! já não sabia mais o que fazer!


  • Bruno Luna 3
    Bruno Luna 06/12/2016 Link para o comentário

    Como você está jogando enraizado ?


  • Patrick Andrew 2
    Patrick Andrew 10/08/2016 Link para o comentário

    A melhor combinação para desempenho para rodar Pokemon GO que encontrei foi =>

    Governor: Performace e I/O scheduler: Deadline

    Deixou o jogo extremamente mais suave e beleza, rodando em um Alcatel Pop C7 com sistema MIUI 7. Porem! na hora de jogar, a bateria esgotou 50% em cerca de meia hora.

    SunAngel


    • SunAngel 3
      SunAngel 05/10/2016 Link para o comentário

      Oi. Como você joga o Pokémon. Se não permite usar em celular enraizado? Aqui eu não consigo.


    • Bruno Luna 3
      Bruno Luna 06/12/2016 Link para o comentário

      Como você está jogando enraizado ?


  • VictorDunguinha 28
    VictorDunguinha 09/06/2016 Link para o comentário

    Valeu ajudo muito, deixava só dois dos núcleos ativos e n via resultado na batéria, pq ficavam sempre no seu máximo, agora que entendi como funciona os governor, deu pra regular pra ter mais núcleos mas rodando numa potência menor


  • 7
    Roberto Melo 04/02/2016 Link para o comentário

    Caí na besteira de pesquisar BRASILIANWAX no Google... O.o

    Dyego Santos


  • 1
    Rafael Netto 18/06/2015 Link para o comentário

    Qual o melhor para fazer esse controle o SetCpu ou esse controle simples de cpu?


  • Toni Junior 21
    Toni Junior 27/04/2015 Link para o comentário

    Com alguns erros de digitação na matéria, mas não tira o brilho da mesma.
    Muito importante para quem gosta de aumentar ou diminuir o ''clock'' do aparelho.


  • 2
    Samurai RJ 26/04/2015 Link para o comentário

    Alguém usando ou testando as combinações acima na CM12.1 (5.1.1)?
    Galaxy s2


  • 1
    Bruno G. 22/01/2015 Link para o comentário

    Jefferson, boa noite. Qual módulo seria melhor para o meu Galaxy s4 I9515L ? Eu deixei aqui CPU MIN : 1,026 GHZ / CPU MÁX: 1,89 GHZ / ONDEMAND / NOOP.
    Seria a melhor combinação esta ?

    Obrigado.


  • Léo Walk 58
    Léo Walk 30/12/2014 Link para o comentário

    ONDEMAND e NOOP é uma combinação perfeita pra quem quer desempenho
    razoavel e uma boa duração de bateria. Eu uso esses dois aqui no
    4.4.4 stock do meu Moto G 2 e com a ajuda de alguns scripts que
    inseri no build.prop melhorou ainda mais. Pra configurar esses
    gerenciadores eu usei o app SetCPU. Lembrando que tem que ter
    acesso Root.

    Samurai RJConta desativada


    • 60
      Conta desativada 31/12/2014 Link para o comentário

      Na verdade o perfeito seria o smartassv2 com o sio,mas são poucos os kerneis que tem os dois

      Rafael HenriqueLéo Walk


      • 2
        Samurai RJ 28/04/2015 Link para o comentário

        Estou usando essa configuração na CM 12.1...kernel Apolo.. Até agora tudo ok,


      • SunAngel 3
        SunAngel 05/10/2016 Link para o comentário

        Desculpe minha inocência. Mas minha dúvida é. Se apos todo o processo eu quiser remover o root e o aplicativo tipo setcpu. Vai voltar tudo como antes da mudança? Ou mudar a rom?


  • Viko 17
    Viko 03/03/2014 Link para o comentário

    Para o Moto G com a ROM Nexus G+ (7) qual a configuração que você me aconselha colocar??? Uso o No-frills CPU Control. Valeu. Abraço..


  • Aline Diniz Mariano 4
    Aline Diniz Mariano 30/09/2013 Link para o comentário

    Bom dia! O post é muito bom e útil, gostaria de sugerir que coloquem exemplos de tipos de usuários, sei que já falaram que é algo pessoal mas assim ficaria mais facil poder configurar no meio de tantas opcoes.

    Obrigada

    Victor AndradeLéo Walk


  • 1
    Yuri Augusto 14/09/2013 Link para o comentário

    E o PegasusQ? Qual a desse governor?


  • 60
    Conta desativada 17/06/2013 Link para o comentário

    + evandro, essa configuração é meio pessoal , só testando a combinação pra ver se fica bom pra ti, pois existem muitos fatores que interferem no resultado final, eu posso te indicar uma configurações que pra mim fica bom e tu não gostar no teu aparelho.


  • 2
    Evandro Leitão 17/06/2013 Link para o comentário

    Olá,

    Queria saber quais os governors que a galera anda usando... esse lulzactive é bom? O cocore 6.8 liberou outros governors?


  • Luiz Renato Fuzeto 12
    Luiz Renato Fuzeto 14/05/2013 Link para o comentário

    Jefferson, estou com vontade de trocar o kernel, mas ao mesmo tempo com medo. Tem algum problema em eu fazer essa troca? Acarreta algum transtorno no aparelho? Você acha que melhora a performance? Eu tenho o recovery personalizado no meu celular, e baixei o pacote .zip, a versão Siyah-s3-v1.9.1-CWM, o meu andoid é 4.1.2, você sabe se é essa que tenho que instalar? Tem algum outro kernel que você recomenta?
    Obrigado pelas informações que tem passado.


  • 60
    Conta desativada 09/05/2013 Link para o comentário

    +luiz, o pessoal fala muito bem desse kernel para o s3, para instalar tem duas formas, se tu tem o recovery personalizado, instala o pacote zip, se não tem , tem que localizar o arquivo que termina em MD5, esse é o kernel, e instala por um terminal emulador, é bem provável que de onte tu fez o download do kernel tenha os comandos para fazer isso.


  • Luiz Renato Fuzeto 12
    Luiz Renato Fuzeto 09/05/2013 Link para o comentário

    Jefferson, baixe um Kernell - Siyah-s3-v1.7rc1, só não instalei ainda pois não sei como fazer.....rsrsrsrs.....vc acha esse um bom kernell? É esse que tenho que usar no meu galaxy S3 com android 4.1.2?


  • Paulo F. 15
    Paulo F. 03/05/2013 Link para o comentário

    ótimo post, tava em duvida sobre o que significava esses ajustes e agora já tenho uma boa ideia do que é.


  • 60
    Conta desativada 29/04/2013 Link para o comentário

    sim para o s3 tem um muito bom , vou providenciar os links lá no fórum em breve.


  • Luiz Renato Fuzeto 12
    Luiz Renato Fuzeto 29/04/2013 Link para o comentário

    Jefferson, onde encontro um kernel modificado? É possível baixar só o kernell


  • 60
    Conta desativada 26/04/2013 Link para o comentário

    +Luís Renato, o app é apenas um gerenciador, os governors e i/o shedules vem no kernel do aparelho, como pelo jeito tu está com o kernel original, só tem esses, quando tu colocar um kernel personalizado, vai vir muito mais opções.


  • Luiz Renato Fuzeto 12
    Luiz Renato Fuzeto 25/04/2013 Link para o comentário

    Jefferson, no programa instalado no meu Galaxu S3, No-frills CPU Control, só aparece 5 opções de Governor (ondemand, userspace, powersave, pegasusq e performance) e no I/O scheduler só aparece 3 opções (noop, deadline, cfq). Será que veio o APP desatualizado?


  • 60
    Conta desativada 24/04/2013 Link para o comentário

    minha configuração do meu dia a dia é smrtassv2/sio é bem equilibrada entre performance e gasto de bateria, mas como diz no artigo, só fazendo testes para ver qual fica melhor para você, e não são só esses que existem, são muitos mais, se eu citasse todos, o conteudo fiacaria muito extenso e cansativo,esses são os mais comuns que costumam aparecer nos kerneis.
    quanto ao pegasug, tam,bém não sei se realmente é bom, o que realmente desliga um núcleo do processador é o hotplug, mas por exemplo, se tu ligar a camera direto da tela de bloqueio, ele demora ainda mais para abrir, isso se não travar, o que pra mim em meus testes, não foi um bom resultado,mas quem sabe com outros funcione melhor, só testando para saber, podemos abrir um tópico no fórum, para debartemos melhor isso.


  • 2
    Joel Vieira 24/04/2013 Link para o comentário

    Boas, finalmente um artigo em Portubrasil lol.
    Eu entendo inglês, mas meu cérebro demora a processar e no meio de tantos termos técnicos ás vezes gosto de ter uma ideia em portugês primeiro e depois aprofundar em inglês.
    Bom artigo, curto e preciso. Em Resposta ao Luiz Renato Fureto, o governor pegasusq é um governor próprio da samsung vocacionado para processadores multicore. Contudo estou desde ontem a o estudar e saber se desliga ou não cores, pois se o faz é o pior que pode acontecer.


  • Luiz Renato Fuzeto 12
    Luiz Renato Fuzeto 23/04/2013 Link para o comentário

    Gostei do artigo Jefferson, não conhecia nada sobre o que você escreveu, pra mim foi tudo novidade. Não sei qual melhor combinação para eu utilizar. Qual você utiliza? E na lista apareceu um diferente "pegasusq". Sei lá o que quer dizer isso...rsrsrsrsr.....

    abraço


  • 28
    Conta desativada
    • Mod
    23/04/2013 Link para o comentário

    Bom Dia!

    Ótimo artigo +Jefferson, parabéns! Esta parte do blog é essêncial.

    Abraço.

Escreva um comentário:
Todas as mudanças foram salvas. Não há rascunhos salvos no seu aparelho.