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
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