Como fazer o google-chrome ou chromium usar menos memória

13

Meu computador possui apenas 4 GB de memória, e abrir 8 a 12 guias aleatórias no chrome ou chromium geralmente congela o computador. Atualmente estou usando google-chrome-stable --process-per-site. Isso ajuda até certo ponto. Existe alguma maneira de executar o cromo ou o cromo em um único processo? Alguém poderia me dar algumas dicas sobre como controlar o uso excessivo de memória do chrome?

crysoberil
fonte
Por que você acha que o Chrome está usando mais memória do que precisa? Navegadores modernos seriam extremamente lentos se eles usassem apenas um único processo. O que faz você pensar que o Chrome usaria menos memória se fosse apenas um único processo?
Ramhound 7/08/2015
Acho que uma vez que verifiquei, achei o IE muito melhor em termos de pegada de memória. O IE foi uma piada por um tempo, como o V6-V9 ou algo assim, por volta da v10 ou v11. Eles dizem que a versão atual não é tão ruim. Dê uma olhada nisto. Observe também o Opera, que historicamente não tinha muita memória .. Embora eu deva dizer que acabei de verificar o IE e, em um de seus casos, ele usou 102 MB .. o que parece muito ... mas, de qualquer forma, veja se você acha que o IE usa menos de cromada. Você pode experimentar navegadores muito pequenos como "desativado por um", mas eles podem não mostrar todas as páginas corretamente.
barlop
Mesmo que a RAM seja cara, quando você está com pouca RAM, mais RAM é um bom investimento, compensa imediatamente!
barlop
3
O Chrome, por sua natureza, usa muita memória. A melhor maneira de economizar memória seria usar outro navegador.
Qddddqq
Como você não especifica, no linux você pode trocar como ram compactado usando zram, o pacote é zram-config. Ajuda a evitar longos congelamentos.
Aquarius Power

Respostas:

3

Existe um plug-in que você pode usar para gravar a memória de abas abertas não usadas para trocar. Como libera essa quantidade de memória, o CHrome / chromium mostra menos consumo de memória.

Procure por Tab-suspender na loja virtual de plugins.

https://chrome.google.com/webstore/detail/tab-suspender/fiabciakcmgepblmdkmemdbbkilneeeh

Victor Vidal
fonte
existe "o grande suspender" também chrome.google.com/webstore/detail/the-great-suspender/…
Aquarius Power
mas sua sugestão é muito mais interessante, alterada, thx!
Aquarius Power
3

Estou usando o cgroup desta maneira:

sudo cgcreate -a $USER:$USER -t $USER:$USER -g memory:groupChromiumMemLimit
sudo cgset -r memory.limit_in_bytes=$((1024*1024*1024)) groupChromiumMemLimit
cgexec -g memory:groupChromiumMemLimit chromium-browser

O próprio cromo às vezes pode ficar um pouco mais lento, pois parece estar trocando, mas não fará com que todo o sistema fique parado ao trocar outros aplicativos, portanto, apenas o cromo / cromo será trocado assim que "atingir o limite de 1 GB".

Mas ... se você olhar para o htop, verá muitos processos de cromo que somam a memória residente um pouco além de 1 GB, acho que preciso de mais informações sobre isso.

ainda não tentei memory.soft_limit_in_bytesver se isso ajuda de alguma forma, como é sugerido no link fornecido por /superuser//a/1168435/157532 .

mas no geral, o chromium está usando muito menos RAM do que costumava, e está claramente sendo muito trocado; portanto, esses comandos cgroup estão funcionando apesar do que posso ver no htop, portanto, o cgroup parece tentar manter o cromo usando "não muito mais de 1 GB "o que é bom o suficiente.

Poder de Aquário
fonte
1
topmostra o uso da memória em bytes, MB, GB ou TB. São potências de 1000 e não de 1024. É provavelmente por isso que você está vendo isso ir um pouco acima do seu objetivo.
precisa saber é o seguinte
Além disso, isso persistirá na reinicialização? Como ele se compara com esta solução que escreve /sys/fs/cgroup/memory/myGroup/memory.limit_in_bytes?
Dan Dascalescu 10/03
1
@ DanDascalescu btw, acho que isso não funciona muito bem agora ... o cromo gera mais de 15 threads independentes e esse limite se aplica a cada thread (e não um limite para todos como um limite de grupo). Vou tentar encontrar uma maneira de criar um limite que SOMA cada thread e os limite todos juntos (e não isolados como parece estar agora).
Aquarius Power
1

Tenho o mesmo problema e não estou sozinho: o Chrome / Chromium consome muita memória . Às vezes, isso faz com que o sistema congele (no meu caso, Linux Mint 17).

solução 1

Como solução alternativa, comecei a usar esta extensão do Chrome: o grande suspensor

solução 2

Mas existem várias outras soluções, por exemplo, linuxcgroup ( https://gist.github.com/juanje/9861623 )

outras soluções

Anexei minhas outras soluções à minha primeira resposta a uma pergunta semelhante.

De qualquer forma: o Chrome é um bom (provavelmente o melhor) navegador da Web, e hoje os sites têm altos requisitos (muitos JS, canvas, SVG, vídeo incorporado, soquetes da Web ...). Tentar reduzir algumas funcionalidades - não é uma boa ideia. O único problema que estou tentando resolver (pelo menos para mim): ninguém quer ficar perto do sistema congelado .

maxkoryukov
fonte