Pode-se calcular o tempo de CPU usado, supondo que o agendador de tarefas equilibre as tarefas em todos os núcleos de maneira uniforme (ou pelo menos de maneira distribuída) como:
CPU Time = Application Time * Number of Cores * Average CPU Utilization
O processo ocioso do sistema é apenas um wrapper para o agendador de tarefas quando não há trabalho a ser feito pela CPU, portanto, caso nada mais esteja em execução no sistema, isso geralmente tem uma utilização muito alta. Supondo que você tenha um sistema de 4 núcleos, e seu processo ocioso ocupa 95% da CPU, a cada segundo você esperaria que o tempo de CPU do temporizador inativo aumentasse em:
CPU Time = (1 second) * (4 cores) * (0.95) = 3.8 seconds
Note que à medida que conseguimos melhores processadores e nossos sistemas operacionais se tornam mais otimizados, isso seria teoricamente máximo. em 100% (por exemplo, em ocioso, a CPU não tem literalmente nenhum trabalho comparado a suas capacidades), nesse caso você esperaria que o Tempo de CPU para o processo ocioso simplesmente aumentasse em tempo real multiplicado pelo número de núcleos. p>
Observe que essa fórmula se aplica mesmo para aplicativos de encadeamento único, pois se um aplicativo de encadeamento único estiver sendo executado constantemente em uma máquina de 4 núcleos, a utilização máxima do processador seria de apenas 25%; assim, o tempo de CPU para esse aplicativo single-threaded deve quase corresponder em tempo real:
CPU Time = (1 second) * (4 cores) * (0.25) = 1 second