Como a Apple calcula o consumo de energia de um processo no OS X Mavericks

14

No OS X Mavericks, você pode monitorar o consumo de energia de diferentes processos no Activity Monitor. Monitor de Atividade mostrando as colunas Impacto EnergéticoAqui podemos ver 'Impacto energético' e Impacto médio energético 'e que os valores podem exceder 100.

Também haverá um ícone da barra de menus que lista os aplicativos que consomem mais energia em execução no momento.

Existe alguma documentação sobre como a apple calcula o consumo atual de energia? Existe um mapeamento entre a utilização da CPU e o consumo de energia?

Espero que haja alguns especialistas aqui que possam me dar uma dica.

Kilosh
fonte

Respostas:

1

Existem muitos aspectos da utilização da CPU que afetam o consumo de energia. Não é apenas a quantidade de CPU que um aplicativo consome, mas também com que frequência e quão flexível ele é. Este último pode ter um efeito muito maior.

Um aplicativo que precisa acordar exatamente a cada 10ms para executar apenas algumas linhas de código Obj-C simples pode ter uma ordem de magnitude maior que o mesmo aplicativo que executa milhares de linhas de código, mas apenas uma vez por segundo e não sendo muito particularmente sobre exatamente quando, dentro desse segundo, o cálculo ocorrerá.

A Apple provavelmente usa os contadores de desempenho da Intel e os contabiliza no seu aplicativo. Você provavelmente obteria mais informações seguindo os manuais da Intel primeiro para entender os estados de energia e o gerenciamento de energia. Isso varia muito entre as arquiteturas. Um aplicativo com mau comportamento pode ter um impacto muito maior no Haswell do que em uma máquina "antiga" Core 2.

O uso de outros recursos, como o sistema de áudio, a execução de E / S de disco ou o uso de dispositivos USB também pode ser considerado. Um método provável de contabilidade atribuiria ao seu aplicativo todo o uso de energia necessário pelos recursos que ele usa exclusivamente (por exemplo, um dispositivo USB personalizado, acesso a um sistema de áudio desligado) e faça algum tipo de classificação profissional para hardware compartilhado.

Restabelecer Monica
fonte
1

Tudo começa com monitoramento e medições de precisão até milissegundos.

Como exemplo, a Intel criou uma ferramenta para monitorar os parâmetros da CPU da Intel.

Ele exibe a potência, a frequência e a temperatura.

O uso de energia e a temperatura são produtos da frequência (a velocidade) ou da quantidade de dados processados.

A taxa de amostragem é de milissegundos e a potência está em Watts e mede a energia total da CPU enquanto o monitor de atividades a decompõe por aplicativo / processo.

Intel

Aqui está um artigo da Apple sobre gerenciamento / consumo de energia que detalha um pouco mais como é gerenciado a energia.

Em resumo, usando a medição de potência ms, é possível controlar melhor o consumo geral de energia.

Antes do TC

antes

Usando as informações acima em por Aplicativo e o uso cumulativo de energia resultante, a Apple implementou os recursos Timer Coalescing e App Nap para gerenciar o consumo de energia resultante na Tabela abaixo.

Após TC

depois de

Para ver mais informações nos gráficos acima, visite este artigo .

Como a atividade do controle da CPU, incluindo gerenciamento de RAM e leitura / gravação de disco, a Placa de Rede e outros, por exemplo, aprimorando o gerenciamento de RAM, também reduz o consumo de energia causado pela atividade frequente de R / W do disco.

Existem muitos aspectos do gerenciamento de energia, e eles são uma combinação de medições e projetos de software muito precisos para reduzir o consumo de energia.

Alguns exemplos são:

Recurso App Nap

Recurso de coalescência do timer PDF

Recurso de gerenciamento de RAM

Ruskes
fonte
1
@grgarside As imagens parecem vir dos sites vinculados nas respostas. No entanto, não faria mal afirmar a fonte de cada imagem explicitamente.
Nohillside
1
@ patrix- feito, fontes mostravam para tudo :)
Ruskes
0

Parece não haver documentação sobre como o consumo de energia é calculado. Somente o uso da CPU não pode prever com segurança o consumo de energia. Portanto, os principais fatores considerados seriam (estes são um pouco complementares ao que o App Nap analisa e controla):

  • utilização do CPU
  • Entrada / saída de disco
  • Entrada / saída de rede
  • Uso periférico (como alto-falantes de áudio, por exemplo)

Novamente, não há detalhes sobre como cada um desses fatores é medido e as fórmulas usadas para calcular o consumo de energia. Podemos fazer algumas suposições fundamentadas pelo fato de que todo Mac (e também PC) vem equipado com vários sensores dentro do sistema. Você pode usar uma ferramenta como o Monitor de hardware para ver quais sensores o seu Mac possui e o que eles estão relatando em tempo real.

Os principais sensores relacionados ao consumo de energia que estão disponíveis (e existem há vários anos) no Hardware Monitor são: Voltagem da CPU, Corrente da CPU e Potência da CPU. Para outros elementos na lista acima, não há sensores de hardware para medir o consumo de energia. Portanto, a Apple deve estar usando fatores de extrapolação específicos, dependendo do modelo do Mac e do hardware subjacente.

MK
fonte