Ajude a identificar o que usa a CPU quando a lista do Activity Monitor de todos os processos não ajuda

5

Problema

Após a reinicialização, e apenas com o Activity Monitor aberto, o meu MacBook Pro (10.6, i7) mostra um% ocioso muito alto (98% ou superior), mas logo depois cai para 40% - 50%.

Na lista do Activity Monitor de todos os processos :

  • nada explica essa queda.

Cinco perguntas

Qual o motivo da queda na porcentagem de inatividade?

O OS X executa algo que não está listado como um processo no Activity Monitor?

Ele desliga uma CPU ou duas?

Existe uma maneira de forçá-lo a me dar toda a atenção da CPU, mesmo que eu não esteja usando?

Para o que está abaixo, existem maneiras melhores de medir quanto impacto total no sistema um aplicativo tem, pois a% de cpu do aplicativo não mostra toda a atividade secundária que um aplicativo faz com que um sistema seja concluído?

fundo

Estou tentando medir o desempenho de um aplicativo específico, e uma das métricas, já que parte da atividade do aplicativo é realizada dentro do kernel na forma de chamadas do sistema, é% da ociosidade da CPU.

Se o OS X executa coisas em segundo plano que não consigo ver, ou desliga as CPUs ou as reduz a velocidade, obviamente isso afeta minhas medições.

Adam Davis
fonte
Por que você não analisa a carga dos processos em execução e determina o que está usando seu processador? E, por extensão, por que você não verifica isso em particular no aplicativo?
Gerry
11
@Gerry Acho que não deixei claro no meu post - estou levando em consideração todo o uso da CPU de todos os processos em execução, conforme apresentado pelo monitor de atividades. Eles não chegam a quase 10%, não importa os 50-60% que o tempo ocioso da CUP sugere que deveriam.
Adam Davis
11
Tem que perguntar, você tem 'Todos os processos' selecionados em AM?
KidPub
11
@KidPub Sim, estou vendo Todos os Processos.
Adam Davis
11
Usar /Library/Application Support/HWPrefs/CPUPalette.appe desativar dois núcleos me dá os mesmos sintomas, então acho que o OS X está otimizando agressivamente as CPUs. Se você sabe como desabilitar a otimização da CPU ou controlá-la, consulte apple.stackexchange.com/questions/41045/…
Adam Davis

Respostas:

1

Os testes parecem mostrar que o culpado é a tecnologia Turbo Boost da Intel , que desativa os núcleos dos processadores em tempo real sem avisar o sistema operacional. Como eles não estão executando o processo ocioso da CPU, o monitor de atividades não é responsável por eles, e parece que a máquina está com menos de 50% de ociosidade quando a realidade é que está quase 100% ociosa.

No momento, não parece que isso possa ser facilmente desabilitado ou controlado no OS X: Como posso desabilitar a otimização e a desabilitação da CPU?

O Turbo boost está incorporado em muitos processadores Core i7 e i5 e em alguns dos mais recentes processadores Core i3. Você precisará verificar a versão do seu processador em relação à lista de processadores com capacidade do Turbo Boost da Intel para descobrir se o seu possui. Se você não tem uma ponte de areia, provavelmente não tem um impulso turbo.

Adam Davis
fonte
0

Por padrão, o monitor de atividades mostra apenas os processos em execução na sua conta de usuário e não as tarefas do sistema, bem como as tarefas de outros usuários da máquina.

insira a descrição da imagem aqui

Selecionar outra visualização no controle da barra de ferramentas deve ajudar a saber o que está demorando o tempo de CPU no seu mac. Eu recomendo que você obtenha o Xcode na loja de aplicativos e use o Instruments para fazer perfis e ajustes avançados. É uma ferramenta muito mais capaz para esse trabalho depois que você percebe algo errado usando o Activity Monitor.

bmike
fonte
Estou visualizando Todos os processos. Ele não mostra nada que consome o tempo da CPU sugerido pelo% ocioso.
Adam Davis
11
Uau - existe um caso interessante em que qualquer processo que inicia após um intervalo de amostra e morre antes do próximo intervalo de amostra não será capturado pelo Activity Monitor. Você precisará de dtraceinstrumentos para obter processos mortos. Normalmente, tento fs_usageesperar que esses processos rápidos estejam acessando algum tipo de arquivo para descobrir qual ofensor está causando o real, mas fantasma aos olhos do uso da CPU do tipo Monitor de Atividade.
bmike