Ajuste a frequência da CPU com cpufreqd

O ajuste da frequência das CPUs pode ser feito com um pequeno aplicativo chamado cpufreqd.
Ele é um daemon e, portanto, roda nos bastidores e, se você deixá-lo quieto, irá fazer os ajustes automaticamente, de acordo com o seu perfil de uso do sistema.
De modo geral, permitir que o sistema faça os ajustes do clock da sua CPU é uma boa idéia.
cpu arm cortex a15 chip
Em alguns casos, contudo, pode ser necessário determinar o melhor ajuste arbitrariamente.
Para isto, podemos usar o cpufreqd.

Instalação do cpufreqd

Se o aplicativo não estiver instalado no seu sistema, use o apt-get (no Debian ou Ubuntu):

sudo apt-get install cpufreqd

No Fedora, use o yum:

yum install cpufreqd

Como executar o cpufreqd

Comece por verificar se os módulos necessários estão instalados:

sudo lsmod | grep cpufreqd

No meu sistema obtive o seguinte resultado:

cpufreq_powersave      12422  0 
acpi_cpufreq           17050  0 
processor              27590  1 acpi_cpufreq

É normal obter uma relação bem mais extensa do que a minha. O que importa é poder criar e usar perfis e regras de performance das CPUs.
O aplicativo cpufreqd, depende de um arquivo de configuração /etc/cpufreqd.conf, onde são fixados todos os seus parâmetros e opções de execução.
O arquivo se organiza em seções chamadas [General], [Profile] e [Rule] — Geral, Perfil e Regra.
Você pode criar perfis novos o quanto quiser. Uma boa idéia é copiar um existente e alterá-lo de acordo com suas necessidades.

Como verificar os governors (perfis) disponíveis

Verifique os governors (perfis) disponíveis no seu sistema:

sudo cpufreqd-get

O resultado deve ser semelhante a este (ele varia em função do modelo de processador que você tem no seu sistema):

Name (#1):	Performance High
Active on CPU#:	0, 1
Governor:	performance
Min freq:	1600000
Max freq:	1600000

Name (#2):	Performance Low
Governor:	performance
Min freq:	1333000
Max freq:	1333000

Name (#3):	Powersave High
Governor:	powersave
Min freq:	1066000
Max freq:	1066000

Name (#4):	Powersave Low
Governor:	powersave
Min freq:	800000
Max freq:	800000

Se você obtiver uma mensagem de erro como esta (abaixo):

No cpufreqd socket found

… veja como resolver:

  • Abra o arquivo de configuração do cpufreqd:
    sudo nano /etc/cpufreqd.conf

    em seguida remova os “#” das seguintes linhas:

    [General]
    pidfile=/var/run/cpufreqd.pid
    poll_interval=2
    verbosity=4
    #enable_remote=1
    #remote_group=root
    [/General]

    Agora grave (Ctrl + o) e feche o arquivo (Ctrl + x).

  • Reinicie o cpufreqd:
    sudo /etc/init.d/cpufreqd stop
    sudo /etc/init.d/cpufreqd start

    Se você obteve a seguinte mensagem, tudo deve estar bem, agora:

    [ ok ] Starting cpufreqd (via systemctl): cpufreqd.service.

Para ver o governor em execução, use o seguinte comando:

sudo cpufreqd-get -l

Novamente, o resultado depende da quantidade de CPUs que você tem no seu sistema:

CPU#0: "Performance High" performance 1600000-1600000

CPU#1: "Performance High" performance 1600000-1600000

Lembre-se: a primeira CPU é a de número 0, a segunda é 1 etc.

Como ajustar o governor do meu sistema

Se você não fizer nada, o sistema se ajustará de acordo com o seu perfil de uso.
Se quiser, contudo, você pode ajustar o sistema arbitrariamente.
Use o comando sudo cpufreqd-get para saber os números dos governors disponíveis: Name(#1), Name(#2) etc.
Para ajustar a CPU para seguir as regras do quarto governor da sua lista (name(#4) Powersave Low, no meu caso), o comando é este:

sudo cpufreqd-set 4

Use o comando cpufreqd-get para ver se houve a mudança.
Para voltar ao modo dinâmico, use o comando:

sudo cpufreqd-set dynamic

Como controlar a temperatura e a freqüência do processador no Ubuntu

Com o cpufreq, você regula a frequência do clock da CPU, controla o consumo da bateria e a temperatura do processador. Tudo isto, em um só aplicativo.
O programa não se propõe a fazer mágica — para atingir um objetivo, alguns sacrifícios terão que ser feitos, como irei mostrar no decorrer do texto.

Instale o cpufreq

Abra um terminal (Ctrl + Alt + T) e rode o seguinte comando:

sudo apt-get install cpufrequtils indicator-cpufreq

controlar a frequencia da CPU - ubuntuCom o comando acima, estamos instalando o utilitário cpufreq, o cpufreqd (é um daemon) e os indicadores, que vão ficar na barra superior da sua interface gráfica, de onde você poderá clicar e selecionar o modo de operação do processador.
Normalmente, após a instalação, não é necessário fazer nada. Contudo, se o novo indicador não aparecer, você pode carregá-lo manualmente, com o seguinte comando:

indicator-cpufreq &

Como reduzir a temperatura do processador

Em princípio, quanto mais alta a frequência, mais calor será produzido pela CPU. Portanto, para reduzir a quantidade de calor, basta reduzir a frequência da sua CPU. Se você usar o governor “moderado” ou “economia de energia”, também vai atingir este objetivo.

Como reduzir o consumo da bateria no notebook

Clique no ícone do indicator-cpufreq, na barra de status. O modo de economia de energia é o indicado para atingir este objetivo.
Se preferir, você pode apenas reduzir a frequência do clock da CPU — ao reduzir a frequência, o consumo de energia cai junto.
Se, por outro lado, você usar o maior clock disponível ou optar pelo governor de “desempenho”, prepare-se para ver a bateria ser drenada pelo processador — o que pode não ser um problema se você estiver com o notebook ou o desktop ligados à tomada.

Use os governors

Os governors são aquelas 4 últimas opções do menu do indicador:

  • Moderado — é um modo de uso conservador do processador. Ele ajusta gradualmente a frequência, de acordo com as necessidades do sistema. Ele tem a tendência a manter o processador em velocidades baixas e a subir devagar. Eu o indico para quem deseja economizar energia.
  • Sob demanda — tal como o anterior, ajusta a frequência do processador de acordo com as necessidades do sistema, só que ele é menos suave e demora menos nas escalas — e vai um pouco mais rápido aos valores mais altos.
  • Economia de energia — mantém a frequência da CPU nos valores mais baixos possível. Alguns administradores advertem (eu concordo) que, ao forçar o sistema a fazer o máximo dentro dos limites mais restritivos da CPU, você vai acabar aumentando o consumo de energia.
    Portanto, deve ser usado apenas quando você tiver certeza de que não haverá picos de demanda.
    Contudo, é a melhor opção para quem deseja manter a temperatura do processador baixa.
  • Desempenho — Responde agressivamente a qualquer demanda, elevando o clock do processador ao seu nível máximo. Ele é péssimo para quem está com problemas de superaquecimento ou dependendo exclusivamente da bateria.

LEIA MAIS!

Isto posto, use preferencialmente os governors, quando quiser deixar o próprio sistema determinar a frequência de clock mais adequada para realizar suas tarefas — isto é mais eficiente que determinar um clock de trabalho fixo pra sua CPU.

Use o Glances para monitorar o seu sistema Linux

Se tem uma coisa que não falta ao Linux, são ferramentas de monitoramento do seu servidor e de todos os dispositivos (de hardware ou software) que o compõem.
Além disto, o sistema torna o acesso ao hardware tão transparente que é possível montar fácil o seu próprio script, que monitore precisamente o que você quer.
Neste artigo, vou mostrar como funciona o Glances, uma ferramenta de monitoramento do sistema, multiplataforma, baseada na biblioteca curses.
O Glances se adapta ao tamanho da sua tela, exibindo o máximo de informação possível, dentro do espaço que lhe for destinado.
O programa pode também trabalhar no modo cliente/servidor, para fazer monitoramento remoto.
O utilitário é escrito em Python e usa a biblioteca psutil para encontrar os números e as estatísticas do seu servidor.

Como instalar o Glances

Sendo um aplicativo escrito em Python, é possível fazer a instalação através da ferramenta pip. Mas você pode instalar através das ferramentas convencionais do seu sistema também.
Se você optar pela instalação via pip:

sudo pip install glances

No Debian ou qualquer outra distro baseada no Ubuntu, instale assim:

sudo apt-get install glances

Para instalar no Fedora, no Red Hat ou outra distro baseada em uma destas:

sudo yum install glances

Como usar o Glances

Geralmente, o glances é executado direto na linha de comando do seu terminal:

glances
glances ferramenta de monitoramento Linux - tela principal
Clique para ampliar

Tabela de teclas de controle do Glances

Tecla Efeito Tecla Efeito
a ordena processos automaticamente c ordena processos pelo percentual de tempo das CPUs usado
m ordena processos pelo percentual de memória usado p ordena processos por nome
i ordena processos pela taxa do fluxo de Entrada/Saída (Input/Output rate) d exibe ou esconde estatísticas de uso de disco
f exibe ou esconde informações do sistema de arquivos n exibe ou inibe informações sobre o fluxo de dados na rede
s mostra ou esconde os dados dos sensores y mostra ou esconde os dados do hddtemp
l exibe ou inibe dados dos logs b altera o parâmetro de exibição das estatísticas do fluxo da rede para bytes ou bits
w apaga os avisos (warnings) dos logs x apaga avisos e logs críticos
1 informações globais de CPU e per-CPU t combina a exibição dos dados do fluxo da rede Rx/Tx
u exibe dados do fluxo da rede cumulativamente z exibe ou inibe lista de processos
q quit — sai do programa
Você também pode usar ESC ou Ctrl + C
h help — exibe ou inibe a tela de ajuda do programa

Como usar o Glances no modo cliente/servidor

O Glances pode ser usado no modo cliente/servidor para monitorar remotamente qualquer situação.
Para ativar este modo, é necessário ter em mãos os números de IPv4 ou IPv6 ou o hostname da máquina servidora.
Você pode iniciar o modo servidor em uma máquina, com senha (opcionalmente), assim:

glances -s -P minhasenha

Na máquina cliente, você usa o seguinte comando:

glances -c 192.168.254.3 --password
Enter the Glances server password
Password:
LEIA MAIS

Você pode usar o seguinte comando para fazer o Glances atualizar suas informações a cada 3 segundos:

glances -t 3

Conclusão

Isto encerra o “capítulo” do Glances no livro das ferramentas de monitoração do Linux. Se você acredita que este artigo lhe foi útil, compartilhe-o nas redes sociais, com os seus amigos.
Have fun!

3 aplicativos Android para melhorar a performance do seu smartphone

Aparelhos com acesso root, tem inúmeras possibilidades. Alterar a resposta da CPU à carga de trabalho é uma delas. É aqui que entram os aplicativos de controle da CPU.
Alguns apps, gratuitos ou não, disponíveis no Google Play permitem alterar a velocidade ou frequência do clock da CPU. Melhor do que isto: permitem balancear a performance geral do aparelho com a economia da bateria (muitas vezes, dois “inimigos irreconciliáveis”) — através da escolha de um governor e de um scheduler.
Aqui, vou apresentar a minha pequena lista de preferidos – o que não quer dizer que sejam os melhores. Sinta-se à vontade para indicar os seus preferidos na seção de comentários.

No-frills CPU Control

nofrillsTal como as outras, de que vamos falar aqui, esta ferramenta pode ser usada para ajustar rapidamente as frequências do clock da CPU, os governors e os schedulers no seu aparelho.
Com ele, é possível ajustar arbitrariamente a velocidade máxima e a mínima, ou deixar o aparelho sempre em velocidade máxima – para isto, basta ajustar a velocidade mínima e a máxima para o valor mais alto possível.
A versão que eu usei, gratuita, não tem a possibilidade de overclocking que, para quem mora em uma cidade quente, não é sempre uma boa ideia.
É compatível com vários aparelhos – HTC, Samsung, Motorola, LG, Huawei, ZTE etc.

AnTuTu CPU Master

Antutu cpu clockEsta ferramenta também altera as velocidades da CPU e do processador gráfico (GPU – Graphics Processing Unit).
A versão paga possibilita tanto o overclocking quanto o underclocking — e, antes que alguém me pergunte “por que diabos você iria querer fazer underclocking?”. Uma necessidade premente de conservar a bateria do aparelho, por um longo tempo, me parece ser um cenário apropriado para esta atitude. Óbvio que, neste caso, o aparelho só serviria para executar as suas funções mais básicas.
Também permite selecionar os governors e os schedulers no seu aparelho.

SetCPU

setcpu cpu control governorCom a promessa de adicionar a possibilidade de controlar vários núcleos nas novas versões este app é bastante completo e democrático, por funcionar em uma boa variedade de aparelhos e ROMs – eu usei a versão 3.1.2.
Como os outros, pode aumentar a performance do seu aparelho (seja um smartphone ou um tablet) ou conservar a bateria.
Para conseguir uma relação eficiente entre o desempenho e o consumo de energia, ele conta com mais de 20 governors à escolha do usuário – e ainda permite que você faça um ajuste fino no seu governor.
O aplicativo dispõe também de um painel para controle da voltagem – disponível apenas para alguns kernels, que tenham incluído suporte à undervolting. Este procedimento é usado para reduzir o consumo da bateria.

finalmente…

Especialistas enfatizam que a melhor forma de obter performance do aparelho, sem drenar desnecessariamente a bateria é a seleção de um governor adequado ao seu estilo de vida. Este é um recurso presente em todos estes aplicativos.
Divirta-se!

Como tornar o seu sistema Android mais eficiente — ajuste do I/O scheduler.

Neste artigo, vamos tratar dos ajustes do I/O scheduler – que, numa tradução livre, quer dizer agendador ou programador de E/S (Entrada/Saída de dados), que também ajuda a melhorar a performance geral do aparelho — se você conseguir ajustá-lo ao seu perfil de uso.
Diferente dos governors, os schedulers não atuam nos processadores, mas direcionam as prioridades no fluxo de dados do seu dispositivo.

O que é I/O Scheduler

De acordo com a Wikipedia, é o método que os sistemas operacionais usam para decidir em que ordem os blocos de E/S serão submetidos aos dispositivos de armazenamento — motivo pelo qual são chamados, às vezes, disk scheduling (agendamento de disco).

Os perfis de I/O Schedulers

Android CPU Painel de controle
clique para ampliar

Como já foi dito, este gestor determina as prioridades do fluxo de dados no seu aparelho em relação às mídias de armazenamento. Há diversos perfis possíveis de gestão que visam alcançar estes 4 propósitos:

  • Minimizar o uso do disco rígido, cartão etc;
  • Priorizar as requisições de E/S vindos de processos;
  • Reservar largura de banda para rodar processos nas mídias de armazenamento;
  • Garantir que certas requisições sejam satisfeitas antes que “prescrevam”.

Portanto, de forma resumida, o Kernel controla o acesso aos dispositivos de armazenamento usando o scheduler, que tenta se pautar pelas seguintes diretrizes:

  • Justiça – permitir que cada processo tenha o seu tempo de acesso aos dispositivos de armazenamento;
  • Performance – tenta atender as requisições mais próximas à posição atual de leitura/gravação na mídia, uma vez que ali a busca será mais rápida;
  • Tempo real – tenta garantir a rapidez para atender cada requisição, no momento em que ela chega.

Dito isto, vamos analisar cada perfil do scheduler e a que eles se propõem, além de suas vantagens e desvantagens. De posse destas informações, você poderá escolher aquele que mais se adéqua ao seu estilo pessoal de uso do smartphone.

Anticipatory

noop deadline android schedulers
Clique para ampliar

Baseia-se no fato de que a velocidade de acesso aos dispositivos de armazenamento é muito lenta, que as operações de escrita podem ocorrer a qualquer momento e há sempre um processo querendo realizar uma operação de leitura.

Portanto, prioriza as operações de leitura em relação às de escrita. Ele antecipa operações de leitura síncrona.

Vantagens
  • As requisições para leitura nunca ficam “morrendo à míngua”;
  • Tão bom quanto o noop quanto à performance de leitura em mídias flash;
Desvantagens
  • O seu trabalho de “adivinhação” nem sempre é confiável;
  • Reduzida velocidade de escrita em discos de alta performance.

BFQ

Em vez de fatias de tempo alocados pela CFQ, a BFQ propõe “orçamentos”. O disco é oferecido a um processo ativo até que seu orçamento (número de setores alocados) expire. O BFQ determina grandes previsões de recursos a tarefas que não são de leitura. O orçamento associado a um processo varia de acordo com seu comportamento.

Vantagens
  • Há usuários que concordam que é muito bom para transferência de dados via USB;
  • Acredita-se que seja o melhor scheduler para gravação de videos de alta definição e streaming de video;
  • É considerado um I/O scheduler acurado;
  • Atinge cerca de 30% mais rendimento.
Desvantagens
  • Não é o melhor para benchmarking;
  • Orçamento mais elevado atribuído a um processo pode afetar a interatividade e aumento da latência

CFQ

Sigla para Completely Fair Queuing, é um scheduler que mantém uma fila de E/S escalável por processo e procura distribuir o fluxo igualmente entre todas as requisições.
No Linux, o CFQ é o scheduler padrão, desde a versão do kernel 2.6.18 (setembro de 2006).

Vantagens
  • Conhecido por oferecer uma performance de E/S balanceada;
  • Mais fácil de ajustar;
  • Se destaca em sistemas multiprocessados;
  • Depois do deadline, é o melhor sistema para lidar com bancos de dados.
Desvantagens
  • Alguns usuários têm reportado que as buscas nos dispositivos de armazenamento tomam mais tempo, com o uso do CFQ – o que pode ocorrer em função do scheduler atribuir a mesma prioridade a todas as operações de E/S e, portanto, nenhuma prioridade seria concedida à buscas nas outras mídias;
  • O Jitter (pior caso de atraso) pode ser bastante alto, por causa do número de tarefas competindo pelo acesso ao disco.

SIO

Sigla que corresponde a Simple I/O scheduler. Corresponde a um perfil que tem como objetivo produzir o mínimo de sobrecarga ao sistema para manter baixo o nível de latência para servir as requisições de E/S.

Vantagens
  • Simples – confiável, portanto;
  • Um mínimo de requisições que “morrem de inanição”.
Desvantagens
  • Comparado a outros schedulers, a velocidade de leitura aleatória é baixa em drives flash;
  • A leitura sequencial em drives flash também não muito boa.

V(R)

A diferença deste schedulers para outros é que as requisições síncronas e assíncronas não são tratadas separadamente. Em vez disto, um prazo “imparcial” para sua execução é imposto. A próxima requisição a ser executada é a que estiver mais próxima.

Vantagens
  • Há casos em que é melhor para benchmarking.
Desvantagens
  • Flutuações na performance pode resultar em desempenho abaixo da média;
  • Menos confiável/Mais instável.

Na próxima página, vamos falar sobre os 2 últimos e mais usados schedulers: o Noop e o Deadline.