Pourquoi Chrome regroupe-t-il mes onglets dans des processus et comment puis-je les arrêter?


8

J'ai remarqué que dans Chrome, il regroupe tous les onglets dans un processus de rendu, au moins pour moi. C'est un problème car cela rend Chrome très lent à avoir 150 Ko de RAM à trier.
Existe-t-il un moyen de le forcer à faire de chaque onglet un processus distinct?

Réponses:


4

Selon la documentation de Chrome , il existe un --process-per-tabcommutateur de ligne de commande qui fait ce que vous voulez.


J'ai déjà essayé cela, et curieusement, cela a fait en sorte que tous les onglets entrent dans un processus, avant, tous étaient en 2 processus. C'est probablement une extension qui fait que les onglets deviennent «connectés au script».
digitxp

@digitxp: avez-vous essayé de désactiver toutes les extensions ou de démarrer Chrome en mode navigation privée, ce qui fait la même chose (s'il n'est pas configuré autrement)?
whitequark

3

Pour moi, ils n'ont pas encore résolu le problème.

Voici quelques liens abordant la question plus en détail:

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

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

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

Il existe une instruction switch que vous pouvez exécuter (devrait être une option dans le panneau de configuration pour les personnes non CLI) qui force un nouveau processus par onglet, mais après une lecture et une découverte supplémentaires, elle ne force pas réellement les processus séparés par onglet en soi.

Voici un lien vers le document de discussion et de conception sur le chrome prenant en charge leur conception et leur architecture pour le navigateur Chrome et tous les modèles de processus liés au chrome. Je suppose qu'Android et Chrome OS relèvent d'un type de conception similaire.

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

Le nom du commutateur est un peu trompeur car il me dit "un processus par onglet", mais en réalité c'est un processus par groupe d'onglets avec des scripts similaires, qui est constamment affiné et fusionné en un léviathan géant d'un processus. Les miens obtiennent également plus de 500 à 800 Mo. Presque un gig de mémoire juste pour un seul processus. Cela ralentit mon ordinateur. Plus encore, probablement parce que toute cette mémoire est paginée, mais de toute façon, si chaque onglet était un processus distinct, au moins la mémoire et les opérations de pagination seraient différentes sur toute la carte, répartissant essentiellement la charge à la fois sur le processeur et la mémoire ( y compris la pagination).

Chromium prend également en charge un modèle plus simple qui consacre un processus de rendu à chaque groupe d'onglets connectés au script

Les mots du projet open source "chrome" concernant le modèle à un processus par onglet:

"Chromium prend également en charge un modèle plus simple qui consacre un processus de rendu à chaque groupe d'onglets connectés au script."

Il existe une limite globale au nombre de processus de rendu que Chromium créera. Cela empêche le navigateur de surcharger l'ordinateur de l'utilisateur avec trop de processus. La limite est actuellement de 20 processus de rendu sur la plupart des machines, et moins sur les machines avec de petites quantités de mémoire installée. Par conséquent, un processus de rendu unique peut être dédié à plusieurs sites. Cette réutilisation est actuellement effectuée au hasard, mais les futures versions de Chromium sont susceptibles d'appliquer l'heuristique pour allouer plus intelligemment les sites aux processus de rendu.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.