Cómo hacer que google-chrome o chromium usen menos memoria

13

Mi computadora tiene solo 4GB de memoria, y abrir 8-12 pestañas aleatorias en cromo o cromo a menudo congela mi computadora. Actualmente estoy usando google-chrome-stable --process-per-site. Esto ayuda en cierta medida. ¿Hay alguna forma de ejecutar cromo o cromo en un solo proceso? ¿Alguien podría darme algunos consejos sobre cómo controlar el uso excesivo de memoria de Chrome?

crysoberil
fuente
¿Por qué crees que Chrome está usando más memoria de la que necesita? Los navegadores modernos serían extremadamente lentos si solo usaran un solo proceso. ¿Qué te hace pensar que Chrome usaría menos memoria si fuera solo un proceso?
Ramhound
Creo que una vez que lo revisé, encontré que IE era mucho mejor en términos de huella de memoria. IE fue una broma durante un tiempo como V6-V9 o algo así hasta alrededor de v10 o v11. Dicen que la versión actual no es tan mala. Mira esto. Mire también Opera, que históricamente no tenía mucha memoria ... Aunque debo decir que acabo de comprobar IE y en una de sus instancias usó 102MB ... lo que parece mucho ... pero de todos modos, vea si encuentra que IE usa menos de cromo. Puede probar navegadores muy pequeños como "off by one", pero es posible que no muestren todas las páginas correctamente.
barlop
Aunque la RAM es costosa, cuando tiene poca RAM, más RAM es una buena inversión, ¡vale la pena de inmediato!
barlop
3
Chrome, por su naturaleza, utiliza mucha memoria. La mejor manera de ahorrar memoria sería usar otro navegador.
qasdfdsaq
Como no especifica, en linux puede intercambiar como ram comprimido zram, el paquete es zram-config. Ayuda a evitar heladas largas.
Acuario Power

Respuestas:

3

Estoy usando cgroup de esta manera:

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

El cromo en sí mismo puede ralentizarse un poco a veces, ya que parece estar intercambiando, pero no hará que todo el sistema se detenga en el intercambio de otras aplicaciones, por lo que solo se intercambiará cromo / cromo tan pronto como "alcance el límite de 1 GB".

Pero ... si observa htop, verá muchos procesos de cromo que suman la memoria residente un poco más allá de 1 GB, creo que necesito más información sobre esto.

Todavía no he intentado memory.soft_limit_in_bytesver si ayuda de alguna manera, como se sugiere en el enlace proporcionado por /superuser//a/1168435/157532 .

pero en general, el cromo usa mucha menos RAM de lo que solía, y claramente se está intercambiando mucho, por lo que estos comandos de cgroup funcionan a pesar de lo que puedo ver en htop, por lo que cgroup parece tratar de mantener el cromo usando "no mucho" más de 1GB "lo que es lo suficientemente bueno.

Poder de acuario
fuente
1
topmuestra el uso de memoria en bytes, MB, GB o TB. Estas son potencias de 1000 no 1024. Probablemente es por eso que estás viendo que va un poco por encima de tu objetivo.
jcoffland
Además, ¿esto persistirá reinicia? ¿Cómo se compara con esta solución que escribe /sys/fs/cgroup/memory/myGroup/memory.limit_in_bytes?
Dan Dascalescu
1
@DanDascalescu por cierto, creo que esto no funciona muy bien ahora ... el cromo genera más de 15 hilos independientes y ese límite se aplicaría a cada hilo (y no un límite para todos ellos como un límite de grupo). Trataré de encontrar una manera de crear un límite que SUMA cada hilo y los limite a todos juntos (y no aislado como parece ser ahora).
Acuario Power
1

Tengo el mismo problema, y ​​no estoy solo: Chrome / Chromium consume mucha memoria . A veces, esto hace que el sistema se congele (en mi caso, Linux Mint 17).

solución 1

Como solución alternativa, comencé a usar esta Chrome-Extension: the-great-suspender

solución 2

Pero hay varias otras soluciones, por ejemplo, Linuxcgroup ( https://gist.github.com/juanje/9861623 )

otras soluciones

He adjuntado mis otras soluciones a mi primera respuesta a una pregunta similar.

De todos modos: Chrome es un buen (probablemente el mejor) navegador web, y los sitios de hoy en día tienen altos requisitos (una gran cantidad de JS, lienzo, SVG, video incrustado, enchufes web ...). Intentar reducir algunas funcionalidades no es una buena idea. El único problema que estoy tratando de resolver (al menos para mí): nadie quiere sentarse cerca del sistema congelado .

maxkoryukov
fuente