Pourquoi les pages Web prennent-elles autant de RAM?

25

Après avoir laissé un tas de pages ouvertes dans Chrome, mon ordinateur devient lent. Le Gestionnaire des tâches de Windows montre que certaines pages prennent beaucoup de RAM:

entrez la description de l'image ici

  1. Pourquoi prennent-ils autant de RAM?
  2. Existe-t-il un moyen de savoir combien de RAM chaque page prend, afin que j'enquête?

Merci.

OverTheRainbow
la source
9
Chrome a également son propre gestionnaire de tâches . Et entrez chrome://memory-redirect/si vous en voulez plus.
slhck
1
Merci pour le conseil. Il s'avère que Chrome n'utilise pas un processus pour un onglet / page: un processus peut pointer vers un onglet et plusieurs pages Web, donc je ne peux pas dire lequel utilise la quantité de RAM.
OverTheRainbow

Réponses:

23

Chrome est le plus gros consommateur de RAM sur le marché des navigateurs. Il échange l'utilisation accrue de la mémoire pour une vitesse accrue. Cependant, si vous manquez de RAM disponible, il devient le navigateur le plus lent du marché (par rapport à celui qui serait suffisamment petit pour utiliser les ressources pour rester entièrement dans la RAM au lieu de paginer sur le disque dur.)

Ici, l'équipe de développement Chromium discute des avantages et des inconvénients de ce modèle de mémoire utilisé dans Chrome .

Et ici, vous pouvez configurer Chrome pour utiliser des modèles de mémoire alternatifs avec divers compromis, y compris le mode de processus unique "style Firefox": http://dev.chromium.org/developers/design-documents/process-models

Syclone0044
la source
8
  1. Pourquoi les pages Web prennent-elles autant de RAM?

Chrome utilise un modèle par processus, ce qui signifie que pour chaque onglet (ou groupe d'onglets associés), il utilise un processus distinct au lieu d'un thread distinct. Cela signifie essentiellement que chaque onglet est un programme en cours d'exécution distinct. De cette façon, en cas de plantage, ils descendent d'eux-mêmes au lieu de supprimer tout le navigateur (cela fait la même chose pour les plugs et la plupart des extensions).

Cela a ses avantages évidents (le sandboxing étant le principal), mais bien sûr, il présente également des inconvénients comme le fait que chacun a une surcharge de mémoire, ce qui signifie que Chrome utilise globalement plus de RAM pour le même ensemble de pages ouvertes que les navigateurs qui le font. ne pas utiliser de modèle par processus (d'autres navigateurs ont commencé à adopter cette méthode depuis la sortie de Chrome).

Comme vous l'avez noté, la règle par processus ne signifie pas nécessairement que chaque onglet obtient son propre processus. Cela dépend de la façon dont la page a été ouverte. Utiliser ouvrir dans un nouvel onglet ou ouvrir dans une nouvelle fenêtre ouvre la page / le lien dans le même processus que le parent, mais ouvrir dans une fenêtre de navigation privée l' ouvre dans un nouveau processus, tout comme les commandes nouvel onglet et nouvelle fenêtre .

Une autre raison pour laquelle les pages prennent beaucoup de RAM est que de nos jours, la plupart des pages Web incluent beaucoup de JavaScript et de Flash qui les rendent à la fois CPU et RAM lourds (ce qui signifie également que les anciens systèmes ne peuvent pas naviguer sur Internet aussi confortablement, donc il n'y a pas comme un "système utilisé, ancien mais bon pour la navigation"). Pire encore, les plugins et les extensions (et peut-être même Chrome lui-même) pourraient fuir la mémoire après un certain temps, augmentant l'utilisation de la mémoire dans le temps.

  1. Existe-t-il un moyen de savoir combien de RAM chaque page prend, afin que j'enquête?

Malheureusement, il n'existe aucun moyen (connu / facile) de voir l'utilisation de la mémoire par page. Le moyen le plus proche consiste à appuyer Shift+Escou à cliquer avec le bouton droit sur la bande d'onglets et à sélectionner le Gestionnaire des tâches pour voir l'utilisation de la mémoire par processus.

Une chose que vous pouvez essayer est d'ouvrir chaque page dans un nouveau processus (en utilisant l'une des méthodes susmentionnées), puis de comparer.

Bobson
la source
Merci, j'étais sur le point de poser la question pour cette réponse. Je ne peux pas croire comment une simple page Web peut prendre 300 Mo.
Federico Ponzi
1

Essayez clé, outils, outils de développement, audits

De nombreuses suggestions pour améliorer l'efficacité de votre page Web expliquent pourquoi les pages Web spécifiques d'autres personnes utilisent des ressources excessives.

RedGrittyBrick
la source
Je ne parle pas de mes pages Web, mais plutôt des pages Web que je lis sur le Net et qui finissent par aspirer tellement de RAM que je dois les mettre en signet, redémarrer Chrome et rouvrir les pages.
OverTheRainbow