Google Chrome Helper (Renderer) com CPU alta no Mac
Se o Monitor de Atividade lista uma pilha de processos Google Chrome Helper e Google Chrome Helper (Renderer), a primeira decisão não é quais encerrar. O Chrome é construído como um navegador de vários processos: um processo do navegador coordena muitos filhos. Helpers a mais são a forma normal desse design. O que precisa de investigação é um Helper que continua alto em CPU, memória ou energia depois que a página se acomodou. Esse caso precisa de um mapa. Encerrar em massa esconde o dono e pode derrubar trabalho não salvo.
A forma normal de vários processos não é prova de malware. Um Helper que continua alto no Monitor de Atividade é uma pista para investigar, não um veredito.
Se o Chrome Helper (Renderer) está alto agora
- No Chrome, abra Janela > Gerenciador de tarefas e ordene por CPU ou por uso de memória.
- Relacione a tarefa ocupada a uma aba, extensão, Renderer, processo de GPU ou serviço do navegador.
- Salve qualquer trabalho, feche ou encerre só essa tarefa identificada e observe o Monitor de Atividade por mais um minuto.
Se a carga cai e permanece baixa, você achou o dono. Se ela volta na hora, mantenha o processo visível e continue com as checagens abaixo, em vez de forçar a saída de todo Helper de novo e de novo.
Para que serve cada processo do Chrome
O processo do navegador é dono do chrome em volta da página: janelas, abas, menus, a barra de endereço e o tempo de vida dos processos filhos. A maior parte do JavaScript dos sites não roda ali.
Um processo de renderização trata documentos web. O Chromium é explícito: um renderer pode conter um ou mais frames, e uma aba não é de forma confiável um renderer. O Site Isolation no Chrome para desktop trata um site como fronteira de segurança, então um iframe de outro site pode exigir outro renderer. Esse processo extra é um custo de segurança com uma conta de memória, não prova de que algo está quebrado.
O Chrome também mantém um processo de GPU separado. No design de composição acelerada por GPU do Chromium, um processo de GPU normalmente serve a instância do navegador. Os renderers enviam comandos gráficos para ele. Um pico numa tarefa de GPU é uma questão de composição ou de aceleração por hardware, não automaticamente um problema de abas demais. Distinga um processo de GPU ocupado de um Renderer ocupado pelo que o impulsiona: o processo de GPU sobe com trabalho de composição como reprodução de vídeo, canvas ou WebGL, rolagem pesada e animação, enquanto um Renderer sobe com os scripts de um site. Quando o processo de GPU é o alto, abrir ou fechar abas muda pouco, o teste controlado de aceleração por hardware abaixo é o que se aplica, e apagar um binário de Helper nunca é.
Serviços de rede e de armazenamento, mais outros processos utilitários em sandbox, ficam ao lado desses papéis. Eles buscam, fazem cache e executam trabalhos limitados para que uma página comprometida não alcance o navegador inteiro. Podem aparecer como Helpers no Monitor de Atividade mesmo quando nenhuma aba parece ocupada.
Extensões não têm um nome fixo de processo. O Gerenciador de tarefas do Chrome pode mostrar uma extensão como tarefa própria. A mesma extensão também pode acrescentar trabalho a um renderer ou a uma tarefa em segundo plano. O Monitor de Atividade ainda vai rotular boa parte desse trabalho como Google Chrome Helper ou Google Chrome Helper (Renderer). O nome é uma família, não um mapa.
Confirme que o processo pertence ao Chrome
Antes de encerrar qualquer coisa, prove que o Helper pertence à instalação do Chrome que você pretende inspecionar. A visão de processos do Monitor de Atividade da Apple pode mostrar mais do que o nome de exibição.
Selecione o processo, abra a janela Informações e inspecione Abrir arquivos e portas. Um
helper genuíno do Chrome deve resolver dentro do bundle instalado Google Chrome.app,
muitas vezes sob /Applications/Google Chrome.app. Uma cópia lançada a partir de Downloads,
outro app baseado em Chromium ou um caminho sem relação precisa de investigação à parte. Não
apague um binário ou uma pasta porque o título do processo contém "Google Chrome
Helper". Um nome pode ser copiado; o caminho do executável e o app dono são evidência
mais forte.
Essa checagem também evita culpar o Chrome por outro app Chromium. Muitos navegadores e apps Electron trazem executáveis helper com nomes parecidos. Encerrar o processo errado não vai esfriar o Chrome, e pode interromper o trabalho no outro app.
Use o mapa do Chrome e a tendência do Monitor de Atividade
Quando o caminho estiver dentro de Google Chrome.app, mude para a visão própria do Chrome.
O Gerenciador de tarefas do Chrome
fica em Mais > Mais ferramentas > Gerenciador de tarefas. Ele lista abas, subframes, extensões,
trabalho de GPU e serviços do navegador, com colunas de recurso. Ordene pela métrica que combina
com o problema e só selecione uma linha depois de conseguir nomear a tarefa.
Encerrar processo é mais estreito do que sair do navegador, mas não é inofensivo. O Google avisa que trabalho não salvo nessa tarefa pode se perder. Um rascunho, um formulário pela metade ou um envio em andamento pode sumir com o renderer. Salve o trabalho primeiro e só então encerre a linha identificada.
O Monitor de Atividade é a camada de tendência do sistema inteiro. Ele mostra se o Chrome é o dono dos recursos do Mac, se a carga está concentrada num Helper e se o custo é CPU, memória ou energia. Ele não consegue mapear de forma confiável um Helper de volta a um documento ou extensão. O Gerenciador de tarefas do Chrome tem essa relação interna. Use as duas camadas em vez de esperar que uma delas responda a toda pergunta.
Se vários renderers continuam altos juntos, procure uma causa compartilhada: uma família de sites, uma extensão injetada em toda página, ou mídia que ainda está decodificando em segundo plano. O Site Isolation pode multiplicar renderers de propósito. A pergunta útil é qual tarefa isolada continua trabalhando.
CPU, memória e energia são sinais diferentes
A Apple documenta Impacto de energia e Energia em 12 h como medidas de energia, não como apelidos da porcentagem de CPU. Leia a coluna que combina com a queixa.
| Medida | O que informa | Use quando |
|---|---|---|
| CPU | Tempo de processador usado agora | Ventoinhas, calor, lentidão, ou um Helper preso perto do topo do Monitor de Atividade |
| Memória | RAM retida pelo processo | Pressão de memória, swap, ou o Chrome crescendo depois de muitas abas |
| Impacto de energia | Uso relativo de energia neste momento | O Mac parece morno ou descarrega rápido mesmo quando a CPU parece moderada |
| Energia em 12 h | Uso médio de energia em Macs portáteis | Um Helper parece quieto agora, mas foi caro ao longo de várias horas |
Um renderer pode estar quieto em CPU e ainda grande em memória porque um site permanece no próprio processo. Um pico curto de CPU enquanto uma página renderiza pela primeira vez também não é um veredito. Espere a página se acomodar e observe a mesma tarefa tempo suficiente para distinguir um surto de trabalho sustentado.
Escolha uma métrica principal antes de mudar um ajuste. Se a queixa é uma ventoinha barulhenta, comece por CPU e Impacto de energia. Se a queixa é pressão de memória, use a coluna de memória do Gerenciador de tarefas do Chrome e o painel Memória do Monitor de Atividade. Misturar os quatro números num julgamento vago de "o Chrome está pesado" torna a próxima comparação impossível.
Aplique o remédio mais estreito
Encerre uma tarefa identificada
No Gerenciador de tarefas do Chrome, encerre a aba, o subframe ou a extensão que você já nomeou. Não limpe a lista de Helpers a partir do Monitor de Atividade. Se a mesma linha volta com o mesmo custo depois de recarregar, a página ou algo agindo nessa página é a causa, não um processo sobrando e descartável.
Desative extensões uma de cada vez
Os
controles de extensão do Google
ficam em Mais > Extensões > Gerenciar extensões, ou em
chrome://extensions. Desligue uma extensão, recarregue as mesmas páginas e observe a
mesma métrica pelo mesmo período. Uma extensão pode aparecer como tarefa própria ou inflar um
renderer que ainda carrega o título do site. Se a métrica não se move, ligue essa
extensão de novo antes de testar a próxima. Desativar tudo de uma vez pode fazer
o sintoma sumir sem identificar a causa.
Use a Economia de memória para a memória de abas inativas
Os
ajustes de Desempenho do Chrome
estão em Configurações > Desempenho e em
chrome://settings/performance. A Economia de memória desativa abas sem uso e as recarrega
quando você volta. Ela trata a memória de abas inativas, não uma tarefa de CPU ocupada
neste momento.
O Google também lista trabalho que pode impedir a desativação: áudio ou vídeo ativo, chamadas, compartilhamento de tela, notificações, downloads, formulários pela metade, abas fixadas e dispositivos conectados. Se o Helper caro pertence à aba que você está olhando, ou a uma aba que ainda está tocando ou enviando, a Economia de memória pode, corretamente, deixá-la ativa.
Trate a aceleração por hardware como um teste controlado
O Google documenta Usar aceleração de hardware quando disponível como um interruptor de diagnóstico para falhas relacionadas a gráficos. Não é um conserto geral de CPU alta. Teste só quando a tarefa de GPU, o vídeo, o canvas, a rolagem ou a renderização for o sintoma.
Registre uma linha de base, mude o ajuste, reinicie o Chrome e repita a mesma carga. Desativar a aceleração pode mover o trabalho gráfico da GPU para a CPU, o que pode elevar o uso de CPU ou deixar o vídeo menos fluido. Se o problema medido não melhorar, restaure o ajuste original.
Não remova binários de Helper, pastas de plug-in nem nada dentro de
Google Chrome.app para encurtar a lista de processos. Esses helpers implementam a
arquitetura do Chrome. Modificar o bundle do app pode quebrar o Chrome e as atualizações dele sem
consertar a página ou a extensão que está fazendo o trabalho.
Torne a comparação reproduzível
Uma captura de um pico não basta. Rode a mesma observação duas vezes e mude uma variável.
Mantenha as mesmas páginas nas mesmas janelas e na mesma posição de mídia. Pause ou toque o vídeo de propósito para que ele não avance entre as rodadas. Mantenha o mesmo estado de energia, incluindo o adaptador e o Modo de Baixo Consumo. Feche apps pesados sem relação para que outra compilação ou exportação não mude a linha de base.
Escolha uma métrica da tabela. Observe-a por uma janela fixa, como dois minutos depois que a última página termina de carregar. Anote o nome da linha no Gerenciador de tarefas do Chrome e a CPU ou a memória dela. Use o processo correspondente no Monitor de Atividade só depois de verificar o caminho.
Depois mude uma variável: encerre essa tarefa, desative uma extensão, ligue a Economia de memória, ou teste a aceleração por hardware e reinicie. Repita a mesma janela de observação. Se a métrica não melhorar, reverta a mudança antes do próximo teste. Um ajuste que não fez nada ainda contamina a próxima linha de base se você o deixar mudado.
Quando uma mudança ajuda, repita uma vez depois de um reinício completo do Chrome. Alguns custos somem com um renderer e voltam assim que o mesmo site reabre. Esse resultado ainda ensina algo: a tarefa, a extensão ou a carga é a responsável, não a existência do próprio Chrome Helper.
Vários Helpers ainda vão estar presentes quando o diagnóstico terminar. O sucesso é uma tarefa nomeada, uma métrica que se moveu por um motivo conhecido, e nenhum trabalho perdido num chute.