Comment faire pour que Google Chrome ou Chrome utilisent moins de mémoire

13

Mon ordinateur n'a que 4 Go de mémoire, et l'ouverture de 8 à 12 onglets aléatoires sur le chrome ou le chrome gèle souvent mon ordinateur. Actuellement j'utilise google-chrome-stable --process-per-site. Cela aide dans une certaine mesure. Existe-t-il un moyen d'exécuter du chrome ou du chrome en un seul processus? Quelqu'un pourrait-il me donner quelques conseils sur la façon de contrôler l'utilisation excessive de la mémoire de Chrome?

crysobéril
la source
Pourquoi pensez-vous que Chrome utilise plus de mémoire que nécessaire? Les navigateurs modernes seraient extrêmement lents s'ils n'utilisaient qu'un seul processus. Qu'est-ce qui vous fait penser que Chrome utiliserait moins de mémoire s'il ne s'agissait que d'un seul processus?
Ramhound
Je pense qu'une fois que j'ai vérifié, j'ai trouvé qu'IE était bien meilleur en termes d'empreinte mémoire. IE était une blague pendant un certain temps comme V6-V9 ou quelque chose jusque vers v10 ou v11. Ils disent que la version actuelle n'est pas trop mauvaise. Jetez un coup d'oeil. Regardez également Opera qui, historiquement, n'avait pas trop de mémoire. Bien que je dois dire que je viens de vérifier IE et dans l'un de ses cas, il a utilisé 102 Mo .. ce qui semble beaucoup .. mais de toute façon, voyez si vous trouvez qu'IE utilise moins de chrome. Vous pouvez essayer de très petits navigateurs comme "off by one" mais ils peuvent ne pas afficher toutes les pages correctement.
barlop
Même si la RAM est chère, lorsque vous manquez de RAM, plus de RAM est un bon investissement, ça rapporte tout de suite!
barlop
3
Chrome par sa nature utilise beaucoup de mémoire. La meilleure façon d'économiser de la mémoire serait d'utiliser un autre navigateur.
qasdfdsaq
Comme vous ne le spécifiez pas, sous linux vous pouvez avoir un swap en tant que ram compressé en utilisant zram, le paquet est zram-config. Aide à éviter les longues gelées.
Aquarius Power

Réponses:

3

Il existe un plugin que vous pouvez utiliser pour écrire dans la mémoire des onglets ouverts inutilisés à échanger. Il libère cette quantité de mémoire, donc CHrome / chrome montre moins de consommation de mémoire.

Recherchez Tab-suspender sur la boutique en ligne de plugins.

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

Victor Vidal
la source
il y a "la grande bretelle" trop chrome.google.com/webstore/detail/the-great-suspender/…
Aquarius Power
mais votre suggestion est beaucoup plus cool, changez-la, merci!
Aquarius Power
3

J'utilise cgroup de cette façon:

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

Le chrome lui-même peut parfois être quelque peu ralenti, car il semble être échangé, mais il ne fera pas en sorte que tout le système suspendra l'échange d'autres applications, donc juste chrome / chrome échangera dès qu'il "atteindra la limite de 1 Go".

Mais ... si vous regardez htop, vous verrez de nombreux processus de chrome qui résument la mémoire résidente un peu au-delà de 1 Go, je pense que j'ai besoin de plus d'informations à ce sujet.

havent n'a memory.soft_limit_in_bytespas encore essayé de voir si cela aide d'une certaine manière, comme le suggère le lien fourni par /superuser//a/1168435/157532 .

mais dans l'ensemble, le chrome utilise beaucoup moins de RAM qu'auparavant, et il est clairement beaucoup échangé, donc ces commandes cgroup fonctionnent malgré ce que je peux voir sur htop, donc cgroup semble essayer de garder le chrome en utilisant "pas beaucoup" plus de 1 Go "ce qui est assez bon.

Puissance du Verseau
la source
1
topaffiche l'utilisation de la mémoire en octets, Mo, Go ou To. Ce sont des puissances de 1000 et non de 1024. C'est probablement la raison pour laquelle vous le voyez dépasser légèrement votre objectif.
jcoffland
De plus, cela persistera-t-il lors des redémarrages? Comment se compare-t-il à cette solution qui écrit /sys/fs/cgroup/memory/myGroup/memory.limit_in_bytes?
Dan Dascalescu
1
@DanDascalescu btw, je pense que cela ne fonctionne plus très bien maintenant ... le chrome génère plus de 15 threads indépendants et cette limite s'appliquerait à chaque thread (et non à une limite pour tous comme une limite de groupe). Je vais essayer de trouver un moyen de créer une limite qui résume chaque thread et de les limiter tous ensemble (et non isolés comme cela semble être le cas actuellement).
Aquarius Power
1

J'ai le même problème, et je ne suis pas seul: Chrome / Chrome mange beaucoup de mémoire . Parfois, cela provoque le gel du système (dans mon cas, Linux Mint 17).

solution 1

Pour contourner ce problème, j'ai commencé à utiliser cette extension Chrome: la-grande-bretelle

solution 2

Mais il existe plusieurs autres solutions, par exemple linuxcgroup ( https://gist.github.com/juanje/9861623 )

autres solutions

J'ai joint mes autres solutions à ma première réponse à une question similaire.

Quoi qu'il en soit: Chrome est un bon (probablement le meilleur) navigateur Web, et les sites ont aujourd'hui des exigences élevées (beaucoup de JS, de toile, de SVG, de vidéo intégrée, de sockets Web ..). Essayer de couper certaines fonctionnalités - n'est pas une bonne idée. Le seul problème que j'essaie de résoudre (au moins pour moi): personne ne veut s'asseoir près d'un système gelé .

maxkoryukov
la source