Como calibrar a CPU no Linux

O utilitário Power-calibrate, disponível nos repositórios da maioria das distribuições GNU/Linux, pode ser usado para calibrar o consumo de energia de um dispositivo móvel — como o seu laptop.
Tudo o que o seu equipamento precisa é usar uma fonte de energia de bateria e um processador Intel recente.

Seu processador deve ter também suporte a RAPL (Running Average Power Limit) — sigla para “Limite de Potência Média em Execução”, em uma tradução livre.
Trata-se de um recurso de medição de performance desenvolvido pela Intel, para uso em seus processadores.

O power-calibrate vai tentar calcular o consumo energético relativo a 1% do uso do processador.
Se o perf (recursos de análise de performance do Linux) estiver disponível, o utilitário irá tentar estimar o consumo de 1 ciclo e 1 instrução da CPU.

Como funciona o power-calibrate

A ferramenta oferece estimativas de consumo e seus resultados variam entre as execuções.
Não é concebida para substituir outras ferramentas de medição de alta precisão.

O power-calibrate confia na interface da bateria do seu sistema, para levantar estatísticas de consumo de energia — que irão variar de uma máquina para outra.
O software ou o firmware do seu sistema pode ajustar as leituras da bateria a partir de seus próprios medidores e podem, ainda, reajustar seus próprios valores, durante a drenagem da bateria.
Outra característica comum às baterias de Li-Ion é a descarga não-linear — de forma que rodar o programa em um sistema com baixa carga da bateria não é recomendado.

Processadores com hyperthreading ou com performance de processamento não-uniforme poderão distorcer os cálculos de bogo-ops — uma vez que CPUs lógicas diferentes irão variar suas taxas de processamento.

Para obter um resultado médio mais preciso, procure realizar diversos testes.
Quanto mais amostras obtidas, melhor será a qualidade da média final.
Claro, que a calibração levará mais tempo para ser concluída.

Veja, a seguir algumas opções de uso do utilitário.

Possíveis erros ao executar o power-calibrate

A ferramenta precisa ter acesso a áreas restritas do kernel do sistema e, portanto, precisa ser executada com poderes de super usuário.
Use o sudo, para rodar o programa.
Além disto, desconecte o laptop da tomada, para que as medições sejam realizadas.
Caso contrário, o programa irá retornar a seguinte mensagem de erro:

sudo power-calibrate 

Machine is not discharging, cannot measure power usage.

Exemplos de uso do power-calibrate

Como método de execução básico, use a opção -R para ler (read) estatísticas de consumo do RAPL.
Esta opção se limita a medir a utilização por processador, de forma que a leitura não cobre toda máquina.


sudo power-calibrate -R

CPU load  User   Sys  Idle  Run  Ctxt/s  IRQ/s  Ops/s Cycl/s Inst/s Watts
    0% x 1   5.8   1.7  92.1  1.3  2346.6  420.1   0.0    1.3K   1.3M  4.215
    0% x 2   5.4   1.4  93.0  1.2  1978.6  353.9   0.0    3.6K 498.1   4.111
^C    0% x 3   4.4   1.4  94.1  2.4  1645.4  344.4   0.0    7.5K   2.4K  3.715

A leitura pode ser interrompida a qualquer momento com Ctrl + C.

Para determinar a duração de cada teste, use a opção -r.
O exemplo, abaixo, usa o tempo de 10 segundos:


sudo power-calibrate -r 10 -R

Se você não determinar um tempo específico, o programa usará o padrão de 120 segunos (2 minutos) para cada teste.
O menor valor de tempo aceito é 10 segundos.
O valor padrão é o ideal.

Acrescente -p para obter uma visualização da evolução do teste:


sudo power-calibrate -Rp

power-calibrate

A página do manual (man power-calibrate) tem uma relação de opções de uso do programa e alguns exemplos.

Para obter uma medida em Watts, por 1% de CPU, com 60 segundos de atraso para aquecimento a cada rodada de testes, com 5 testes no nível de carga da CPU (0%, 25%, 50%, 75%, 100%) nas unidades 0 e 1 com 200 segundos de tempo de execução por rodada de testes:


sudo power-calibrate -d 60 -s 5 -n 0,1 -r 200 -p

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia. Fã de séries, como "Rick and Morty" e "BoJack Horseman". Me siga no Twitter e vamos trocar ideias!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

This site uses Akismet to reduce spam. Learn how your comment data is processed.