Por que o Chrome agrupa minhas guias em processos e como posso interrompê-lo?

8

Notei que no Chrome, agrupa todas as guias em um processo de renderizador, pelo menos para mim. Esse é um problema, pois isso torna o Chrome muito lento, com 150k de RAM para resolver.
Existe alguma maneira de forçá-lo a tornar cada guia um processo separado?

digitxp
fonte

Respostas:

4

De acordo com a documentação do Chrome , há uma --process-per-tabopção de linha de comando que faz o que você deseja.

whitequark
fonte
Eu tentei isso antes, e por incrível que pareça, isso realmente fez todas as guias entrarem em um processo, de antes, todas estavam em dois processos. Provavelmente é uma extensão que faz com que as guias se tornem 'scripts conectados'.
Digitpp
@digitxp: você tentou desativar todas as extensões ou iniciar o Chrome no modo de navegação anônima, que efetivamente faz o mesmo (se não estiver configurado de outra forma)?
whitequark
3

Para mim, eles ainda não resolveram o problema.

Aqui estão alguns links discutindo a questão em mais detalhes:

http://code.google.com/p/chromium/issues/detail?id=81877

http://www.google.com/support/forum/p/Chrome/thread?tid=2c6c5ffd1dcd19c5&hl=pt_BR

http://code.google.com/p/chromium/issues/detail?id=36617

Existe uma instrução switch que você pode executar (deve ser uma opção no painel de controle para pessoas que não são da CLI) que força um novo processo por guia, mas após mais leitura e descoberta, na verdade, ele não força processos separados por guia per se.

Aqui está um link para o documento de discussão e design do cromo que suporta seu design e arquitetura para o navegador chrome e todos os modelos de processo relacionados ao cromo. Suponho que o Android e o Chrome OS se enquadram em um tipo semelhante de especificação de design.

http://dev.chromium.org/developers/design-documents/process-models

O nome do comutador é um pouco enganador porque me diz "um processo por guia", mas, na realidade, é um processo por grupo de guias com scripts semelhantes, que são constantemente refinados e mesclados em um leviatã gigante de um processo. A mina também tem mais de 500 a 800 MB. Quase um show de memória apenas para um único processo. Isso deixa meu computador lento. Mais ainda, provavelmente porque toda a memória está sendo paginada, mas, de qualquer maneira, se cada guia fosse um processo separado, pelo menos as operações de memória e paginação seriam diferentes na placa, distribuindo essencialmente a carga na CPU e na memória ( incluindo paginação).

O Chromium também suporta um modelo mais simples, que dedica um processo de renderizador a cada grupo de guias conectadas por script

As palavras do projeto "cromo" de código aberto sobre o modelo de um processo por guia:

"O Chromium também suporta um modelo mais simples, que dedica um processo de renderizador a cada grupo de guias conectadas por script".

Há um limite global para o número de processos de renderizador que o Chromium criará. Isso evita que o navegador sobrecarregue o computador do usuário com muitos processos. Atualmente, o limite é de 20 processos de renderizador na maioria das máquinas e menos em máquinas com pequenas quantidades de memória instalada. Como resultado, um único processo de renderizador pode ser dedicado a vários sites. Atualmente, essa reutilização é feita aleatoriamente, mas as versões futuras do Chromium provavelmente aplicarão heurísticas para alocar sites de maneira mais inteligente aos processos do renderizador.

Jason A. Samfield
fonte