Como calcular por carga de CPU

2

Existe alguma API C para calcular a carga por CPU? /proc/loadavg fornece a carga média da CPU para todas as CPUs disponíveis e /proc/stat não menciona nada sobre processos ativos por CPU.

Como posso obter a carga por CPU?

    
por diago 11.08.2014 / 08:25

1 resposta

5

Não existe carga por CPU.

A média de carga é definida como o número de processos aguardando recursos do sistema. Isso não é necessariamente CPU. Além disso, como um processo pode estar aguardando o tempo da CPU e não está sendo executado ativamente em uma CPU, não é possível atribuí-lo a uma CPU específica, pois o processo pode acabar sendo executado em qualquer CPU (a menos que seja fixado).

No entanto, você pode obter% de utilização por CPU. Use /proc/stat e use o campo 4 de cada CPU para determinar o quão ociosa é essa CPU (veja man 5 proc e a seção /proc/stat ).
Basicamente leia o valor, durma 1 segundo, leia o valor novamente, divida a diferença por USER_HZ.

    
por 11.08.2014 / 14:54

Tags