memória do cromo e pegada da cpu

0

Eu pesquisei nos fóruns por uma resposta, mas não consegui encontrar a resposta que estava procurando [1], então achei que poderia ser de interesse para mais pessoas por aqui.

Realizo uma grande parte do meu trabalho no navegador (ou no navegador, se você quiser colocar dessa forma). Eu costumo usar o Chrome, porque ele tem nativamente muitos dos recursos mais recentes que eu preciso (coisas DevTools, principalmente, mas não só). BTW, eu geralmente estou executando a última versão / build do Google Chrome disponível em um desktop Vaio com 4GB de RAM e CPU dual core e Ubuntu 12.04 como distro e Gnome como gerenciador de janelas.

Então, fiquei curioso sobre a) por que o Google Chrome gera muitos segmentos, abrindo apenas três das quatro guias e b) há alguma maneira de alocar mais memória ao Google Chrome para impedir que seu desempenho seja prejudicado?

Agradecemos antecipadamente

Nacho

PS [1] Encontrei tópicos sobre o congelamento do Chrome ou a falta de memória, mas não sobre as razões para isso ou para evitar que isso acontecesse.

PPS Claro, eu sempre poderia comprar uma máquina mais nova e mais capaz e é exatamente isso que eu estou tentando avaliar: é uma questão de hardware desatualizado ou o problema continuará aparecendo em qualquer lugar (decentemente, mas não muito grande? ) máquina?

    
por nmizar 13.06.2014 / 16:23

1 resposta

2

O Chrome separa cada parte principal do navegador em processos separados. Por exemplo, o navegador em si é seu próprio processo, cada guia é seu próprio processo e cada extensão é seu próprio processo. Também é provável que haja um processo separado da GPU. (Você pode ver esses detalhes indo para: memory).

Parte da vantagem aqui é o acesso limitado de cada parte às outras partes. Por exemplo, se houvesse um script mal-intencionado em uma extensão ou uma guia, então (idealmente) ele só poderia afetar seu próprio processo e não derrubaria o navegador inteiro. Se uma guia ficar congelada por qualquer motivo, somente essa guia (e possivelmente as guias que você abrir nessa guia) será desativada, mas não o navegador inteiro. (Veja também sobre: sandbox.)

Você não pode pré-alocar memória para o Chrome; Se o Chrome precisar de mais memória e estiver disponível, será necessário. Observe que a condição de limitação também pode estar no lado de E / S, pois o Chrome precisa ler seu perfil, suas preferências e pelo menos parte de seu histórico na inicialização e no uso geral. Linux e Unix têm um recurso que permite armazenar arquivos na RAM, o que resultará em acesso mais rápido (a leitura da memória é mais rápida do que a leitura do disco rígido e também pode reduzir o desgaste no caso de muitas gravações), mas com um potencial perda de dados (o conteúdo da RAM é perdido quando o computador perde energia ou desliga).

Existe um script chamado profile-sync-daemon que armazena o perfil e o cache do navegador na RAM e sincroniza o perfil de volta para o disco rígido a cada hora. Isso significa que, caso o computador perca energia ou tenha um encerramento forçado, seu perfil e histórico terão no máximo uma hora de duração. (No desligamento normal, o script sincroniza o conteúdo da memória com o disco rígido.) Veja o link acima para mais instalação e esta página para instalação no Ubuntu.

Observe que o Chrome (ium) armazena o cache separadamente de seu perfil, e o script apenas cuida do perfil (está fora do escopo do script gerenciar o cache). Você pode querer mover o cache do local atual para o diretório do perfil e adicionar um link simbólico no local antigo ao novo local.

    
por saiarcot895 13.06.2014 / 17:06