O que está acionando a CPU do meu Finder?

13

Algumas vezes por semana, o Finder no meu Macbook grava até cerca de 100% de uso da CPU, e os fãs começam a explodir.

Fiz tudo o que pude pensar - permissões reparadas, reinicializadas, preferências da lixeira, desativei a opção "mostrar visualização" nas opções de exibição, auditei o Monitor de atividades em busca de processos desnecessários, vasculhei o console em busca de erros, reiniciei o Finder e muito mais . Eventualmente, ele desaparece e presumo que a origem do erro foi a última coisa que mudei.

Mas está fazendo de novo agora, e estou perdida. Eu gostaria que houvesse uma maneira de "entrar na cabeça do Finder" e ver o que está fazendo. Tentei executar uma amostra do processo Finder no Activity Monitor, mas sinceramente não sei o que está fazendo, muito menos como interpretar a saída.

Essa é realmente minha esperança: que alguém possa explicar uma maneira melhor de investigar picos de CPU como esse, não apenas no Finder, mas em qualquer processo descontrolado. Certamente, existem muitos detalhes que podem ajudá-lo a diagnosticar esse caso específico, mas antes de divulgar informações ainda mais provavelmente irrelevantes, pensei em ver se alguém tem dicas gerais para diagnosticar esse tipo de coisa.

Este é o meu primeiro post Stack-everything, então seja gentil. Desde já, obrigado!

Jesse Baer
fonte
Na próxima vez em que for executado, execute o top -o cpuTerminal para entender melhor o que está acontecendo.
Phwd
Você pode usar lsofpara listar arquivos abertos. Também pode ser útil fuser.
Por curiosidade, você tem o FileVault ativado? Ou proteger o lixo vazio?
Nathan Greenstein
Talvez seja melhor que lsofou fuserseja fs_usage. Alguma combinação desses três, limitada apenas ao processo que está sobrecarregando a CPU (encontrada na parte superior), deve ajudar, assumindo que a E / S esteja envolvida.
Isof parece muito útil. Não foi encontrado um arquivo suspeito específico para testar o fusor. Tentando fs_usage agora no configd (veja a resposta ao NSGod abaixo). @ Nathan - não, nem.
precisa saber é o seguinte

Respostas:

6

"Gostaria que houvesse uma maneira de" entrar na cabeça do Finder "e ver o que está fazendo. Tentei executar uma amostra do processo do Finder no Activity Monitor, mas sinceramente não sei o que está fazendo, muito menos como para interpretar a saída ".

Coletar uma amostra no Activity Monitor é exatamente isso: entrar na cabeça do Finder para ver o que está fazendo. Embora possa parecer grego, eu ou outros aqui podemos interpretá-lo para você. Basta publicá-lo ou disponibilizá-lo para download ou visualização (pois eles tendem a ser bem grandes).

Qual versão do OS X você está usando? No OS X 10.5.xe versões anteriores, acredito que o conteúdo multimídia foi executado no próprio Finder, em vez de delegá-lo a um processo do tipo agente / auxiliar, para que o uso da CPU possa parecer maior. Por exemplo, a visualização de um filme do QuickTime pode fazer com que o Finder 10.5.x e anterior atinja 60% da CPU, enquanto no 10.6 ele pode ser dividido em algo como 10% da CPU para o Finder, 30% da CPU no processo em segundo plano do QTKitHelper.

Caso contrário, às vezes vi o código que o Finder usa para calcular o tamanho do conteúdo de uma pasta, causando picos temporários na CPU. (Você notará algo como TSomething::HFSSizerSomethingno rastreamento de pilha de uma amostra). Geralmente, parece insistente concluir o cálculo, mesmo que a visualização que você abriu que justificava o cálculo já tenha sido fechada.

De qualquer forma, ver a amostra deve ajudar a identificar o problema, além de saber qual contexto levou ao pico. Será mais fácil explicar o que a coleta de uma amostra está fazendo quando a analisarmos.

NSGod
fonte
Eu tinha o Finder configurado para mostrar arquivos invisíveis, e desligar isso parecia curar as coisas. Eu já tinha essa configuração por um tempo, por isso hesito em supor que resolvi o problema para sempre. Como mencionei, houve outros casos em que pensei que tinha resolvido isso apenas para ver isso acontecer novamente.
Jesse Baer
(destinado a adicionar isso, mas a edição expirou…) Parece que temos outra oportunidade de tentar isso - de repente, o configd está ocupando 15 a 20% da minha CPU. Não é horrível, mas incomum, e aparentemente o suficiente, em conjunto com o Chrome e um escritório acolhedor, para acionar meu fã… Aqui está a saída da configuração de amostragem: pastebin.com/aEaSN1zc
Jesse Baer
3

Você tem o DTrace disponível.

man -k DTrace

Essas ferramentas, além de fs_usage -f filesys, devem fornecer a resposta.

chiggsy
fonte
1

Bons conselhos até agora. Compartilharei algumas experiências que tive com um Powerbook no Tiger (mas como o Leopard também possui um processo FatFinder, esse problema também ocorreria na versão 10.5).

Lembro-me de ter um AVI em uma pasta. O formato era um formato estranho, não um simples filme Quicktime ou qualquer coisa; Na época, as câmeras de celular eram ruins e usavam os piores codecs possíveis já criados. Então, toda vez que eu fui para essa "pasta" com o Finder, ele travou, porque estava tentando "ler" o arquivo e o codec estava com defeito.

Eventualmente, por sorte ou porque eu esqueci (ou apaguei), isso parou de acontecer. Mas levei um tempo para descobrir o que era. Lembro-me desse comportamento exato acontecendo no Leopard com um vídeo formatado "mal" também. O Quicklook penduraria o localizador com esse pedaço de mídia.

Eu tive que abri-lo com o VLC para "repará-lo". E então misteriosamente começou a trabalhar novamente.

Eu sugiro que você tente manter um olho nos seus padrões de uso antes do pico da CPU para ver se há algo em comum. Um tipo de arquivo, uma pasta específica, um horário específico etc.

No momento da redação deste artigo, eu não conhecia sua versão do OS X (10.x?), Portanto, essas informações podem estar um pouco desatualizadas se você estiver executando o Snow Leopard.

Além disso, siga o conselho de tentar gerar ferramentas fs_usage, top e similares. Pode nos dar uma dica melhor. A saída do Console.app (/ Aplicativos / Utilitários) pode esclarecer o problema.

Martin Marconcini
fonte
Obrigado - como você deve ter notado na minha resposta ao NSGod, o uso da CPU do Finder diminuiu, mas agora o configd parece estar funcionando, embora de maneira moderada. Eu normalmente não se preocupar com isso, mas eu gostaria aqui é a saída do console do
Jesse Baer
última hora ou assim, que engloba definitivamente quando configd começou a ficar ocupado: pastebin.com/V8qpLuD2
Jesse Baer
1

Eu descobri que apenas duas ferramentas são amplamente úteis na solução de problemas de alto uso da CPU em um programa isolado. Sim, o monitor de atividades pode amostrar e informar onde ele está desligado / processado - mas acho que os Instrumentos são mais adequados para realmente chegar ao cerne da questão, se fs_usage não puder. O DTrace é incrível - eu nunca precisei gastar o tempo aprendendo - o Instruments funciona bem o suficiente e a curva de aprendizado para mim foi muito menor.

  1. fs_usagee, greppara restringir os arquivos que estão sendo acessados ​​com frequência, é possível saber quais / onde estão os problemas para que eu possa tomar uma ação para remediá-lo / ajustá-lo.
  2. Aplicativo Instruments - O Xcode 3 é fornecido para desenvolvedores gratuitos ou para o Xcode 4 (comprado na Mac App Store ou como desenvolvedor pago). Pense nisso como um exemplo de monitor de atividade / esteróides - você pode vasculhar coisas como alocação de memória / vazamentos e ter uma visão muito mais clara do que está acontecendo dentro de um processo lento enquanto está em execução.
bmike
fonte
1

Eu fiquei atormentado pelo alto uso da CPU do Finder por algumas semanas (80-100%). Eventualmente, descobri que era devido à minha configuração do Finder calcular todos os tamanhos em uma pasta. Esta opção não está ativada por padrão, mas vale a pena verificar apenas no caso

  1. Open Finder
  2. Na barra de menus, selecione Exibir -> Mostrar opções de exibição
  3. Verifique se a opção "Calcular todos os tamanhos" está desmarcada
  4. Clique em "Usar como padrão"

Depois disso, vi o uso da CPU do Finder cair imediatamente para 0%.

Kyle Cronin
fonte
1

Estou em um MacBook, OSX 10.6.8. Eu também tenho experimentado inúmeras "compulsões de CPU do Finder", acompanhadas pelo ventilador. O console relata todos os tipos de reclamações intrigantes, geralmente se multiplica repetidamente [outras situações também fazem o ventilador girar e o console mostra reclamações com várias repetições].

Recentemente, descobri que desligar o Finder silencioso do aeroporto . Não é uma solução muito útil, pois agora eu tenho o Airport ativado para estar aqui e, sim, o Activity Monitor mostra o Finder consumindo mais de 100% da CPU [seja lá o que for -?]

gherrick
fonte
1

Altere a opção localizador> preferências> Geral "Nova janela do localizador Mostrar" para qualquer coisa, exceto "Todos os meus arquivos". Isso ajuda muito.

aziwaan
fonte