Verifique o uso da CPU por guia ou por complemento no firefox no mac [duplicado]


13

Minha versão do Firefox possui um processo / thread descontrolado que o faz usar 100% da CPU no meu MacBook Pro (OSX 10.7.4) depois de alguns minutos. Eu tentei usar about:memorye about:addons-memorytentar descobrir o que está causando o problema, mas ele não parece estar relacionado ao uso da memória. Existe uma maneira de ver o uso da CPU por guia ou complemento?

Respostas:


6

Na verdade, a about:memoryguia mostra a alocação de memória por guia; é um pouco difícil de grunhir.

Ao acessar about:memory, você verá uma lista de alocações de memória organizadas hierarquicamente. O primeiro item de nível superior na lista deve ser Alocações explícitas . Abaixo disso existem vários nós de folha. O que você está procurando é objetos de janela . De acordo com isso, a maioria dos nós denominados "top" se refere a guias (se você carregar um site, verá o endereço ao lado de "top"). Por exemplo, eu vejo:

├───29.63 MB (15.27%) -- window-objects
│   ├──12.64 MB (06.52%) ++ top(chrome://browser/content/browser.xul, id=3)
│   ├───6.84 MB (03.53%) ++ top(http://www.cnn.com/, id=31)
│   ├───4.55 MB (02.35%) ++ top(https://ftp.mozilla.org/, id=24)
│   ├───3.50 MB (01.80%) ++ (5 tiny)

Os números na frente são o uso de memória, também fornecido como uma porcentagem do uso geral de memória do Firefox.

O uso de adicionar memória também é mostrado, mas não explicitamente pelo add-on. Você precisaria procurar na lista para descobrir isso, localizando todos os componentes pertencentes a um complemento e adicionando alocações de memória.

Observe que estou no canal Beta (atualmente usando o Firefox 22.0b2), mas acredito que isso funcione em versões mais antigas.


obrigado, eu não notei nenhum vazamento de memória. parece que a memória tende a permanecer razoavelmente constante. é que, depois de um tempo, o processador dispara e permanece assim.
315 claire

11
A pergunta era especificamente sobre o uso da CPU , não memória.
laggingreflex

@laggingreflex: Sim, eu sei. Eu estava respondendo à afirmação "mas ela não parece estar relacionada ao uso da memória". No entanto, olhando para trás, talvez claire realmente significasse "CPU" em vez de "memória".
InnerPortal

Com o Firefox 38 (rodando em Linux), eu tinha que clicar Measuresob Show Memory Reportsa fim de gerar e visualizar a árvore que você descreve. (Se este é o mesmo em todas as plataformas, poderia fazer a resposta um pouco mais completa.)
joeytwiddle

5

Existem vários motivos para o alto uso da CPU no Firefox, detalhados abaixo.

1. Add-ons

A causa usual para problemas de CPU é um complemento ruim. O primeiro teste que você deve fazer é iniciar o Firefox sem complementos.

Em Solucionar problemas do Firefox usando o Modo de segurança :

Na parte superior da janela do Firefox, clique no botão Firefox, vá para o menu Ajuda e selecione Restart with Add-ons Disabled.... O Firefox iniciará com a caixa de diálogo Modo de segurança do Firefox. Nota: Você também pode iniciar o Firefox no Modo de Segurança mantendo pressionada a tecla Shift enquanto inicia o Firefox.

Agora você tem duas opções:

Clicar no botão Iniciar no modo de segurança desativará temporariamente suas extensões e temas, desativará a aceleração de hardware e redefinirá as personalizações da barra de ferramentas e dos botões. Quando você sai do Modo de segurança e inicia o Firefox normalmente, suas extensões, temas e configurações retornam ao estado em que estavam antes de você entrar no Modo de segurança.

Se no modo de segurança você não tiver problemas na CPU, o problema será com um dos complementos. Você pode usar o menu Tools > Add-onspara desativar seletivamente os complementos e reiniciar o Firefox até encontrar o ruim.

2.Flash

O Flash é conhecido por esses problemas. Uma das maneiras comuns de corrigi-lo é desativar a aceleração de hardware do Firefox usando o menu Tools > Options, guia Avançado, para desmarcar Use Hardware Acceleration When Available.

Os dois complementos Adblock Plus e NoScript são recomendados para bloquear seletivamente elementos desnecessários, incluindo o Flash, na página que você está visualizando.

3.JavaScript

O JavaScript no site que você está visualizando em uma de suas guias pode estar mal codificado e desperdiçar a CPU fazendo um loop.

O melhor remédio é usar o NoScript para evitar a execução de JavaScript em sites nos quais você não confia. Essa também é uma medida de segurança que qualquer pessoa deve usar para evitar explorações de scripts entre sites .

4. perfil

Se não estiver claro qual site está causando a alta CPU, é possível usar a criação de perfil no Firefox, embora este não seja um exercício simples.

Depuradores que também fazem criação de perfil são:

Se você é um desenvolvedor e se sente como uma aventura, e como está no Mac, pode usar o DTrace conforme explicado em Desempenho / Otimizando JavaScript com o DTrace , que é a ferramenta que os desenvolvedores do Mozilla usam.


3

@claire: Atualmente, não há uma maneira 'fácil', para ver o que você deseja. Se você seguir o caminho do harrymc, encontrará algumas informações sobre a origem do problema, mas talvez não tenha certeza.

Se você quiser seguir o caminho 'rígido', que mostrará qual está consumindo sua CPU no firefox e / ou nos plugins, é necessário começar a depurar o firefox no ambiente (às vezes não é apenas o firefox e / ou o próprio plug-in, mas uma lib corrompida na qual eles dependem). Aqui está uma explicação completa sobre o hot para fazê-lo, se você tiver alguma idéia sobre programação. O XCode pode ser baixado gratuitamente da apple:

https://developer.mozilla.org/en-US/docs/Debugging_on_Mac_OS_X

Mas você não precisa depurar o código completo do mozilla, mas encontrará o ponto que está em correlação com o aumento do uso da CPU. Isso pode lhe dizer exatamente de onde vem o problema (loop ruim, etc.).


1

Se, por algum motivo, o Firefox estiver consumindo todo o uso da CPU, tente limitar o não. de processadores e a prioridade que a CPU dará a esse processo para reduzir o uso da CPU.

Para fazer isso, clique em ( Ctrl+ Alt+ Del) para abrir o Gerenciador de Tarefas e clique na guia processo (aquela que mostra todo o processo com sua extensão (basicamente como você está no Windows, todo o processo deve terminar com uma extensão .exe). e selecione Selecionar prioridade para definir a prioridade (se estiver definido como mais alto que o normal, coloque-o em normal, caso contrário, se estiver definido como normal e você quiser abaixá-lo mais do que selecionar um valor mais baixo que o normal) e Defina afinidade para limitar a prioridade. número de processadores que contribuem para esse processo. Defina o número de processadores que você deseja e, em seguida, clique em ok para voltar. Verifique se isso funciona.

Lembre-se de que isso funciona apenas para computadores com multiprocessadores (como dual-core, quad-core, etc.) e também que o uso da CPU é diferente do uso da memória.


1
Desculpe pelo meu erro, esqueci de ler que você estava usando o Firefox no MAC. Eu não tenho muita experiência com o MAC, mas se ele contiver algum gerenciador de tarefas como o windows one, esse método funcionará apenas para o sistema windows.
Hunter

3
Este é um bom conselho, mas não chega nem perto de responder à pergunta real.
laggingreflex
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.