Auteur Sujet: Google Chrome mange la mémoire vive...  (Lu 5704 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 47 086
    • Twitter LaFibre.info
Google Chrome mange la mémoire vive...
« le: 01 février 2019 à 21:15:01 »
Google Chrome mange la mémoire vive...



Source : twitter de Corsair (Corsair Memory est un intégrateur de mémoire vive)

STRAT38

  • Invité
Google Chrome mange la mémoire vive...
« Réponse #1 le: 01 février 2019 à 21:59:23 »
Chez moi, il mange les dns  :o et demarre plus depuis mon crash optane ...

Sa sent une bonne reinstall bien propre

Nh3xus

  • Réseau Deux Sarres (57)
  • Abonné MilkyWan
  • *
  • Messages: 3 247
  • Sarrebourg (57)
Google Chrome mange la mémoire vive...
« Réponse #2 le: 01 février 2019 à 23:54:28 »

doctorrock

  • Abonné Orange Fibre
  • *
  • Messages: 931
  • Draguignan 83
Google Chrome mange la mémoire vive...
« Réponse #3 le: 04 février 2019 à 11:55:00 »
Si on réapprennait l'informatique à nos jeunes, comme on nous l'a appris à nous, à savoir à programmmer, avec quelques Ko ou Mo de RAM disponible, et donc à optimiser ses types et son packing de structure à l'octet près ... On en serait pas là.

Mais bon, aujourd'hui un programmeur javascript ne sait même plus ce qu'est un octet de mémoire, ni comment ca s'alloue sur un OS.
Donc ben oui, on se retrouve avec des navigateurs qui en eux même ne sont pas mauvais, simplement les langages de haut niveaux qu'ils supportent sont tellement mal utilisés ...
Idem pour les images. Je me rappelle, en 1998, comment que j'allais chercher l'octet à grapiller dans mon gif/png , comment améliorer la DCT dans JPEG, faire du downsampling....
Qui sait ce que c'est aujourd'hui tout ça ?  Certainement pas le développeur web lambda...

Merci le progrès, j'adore ^^

vivien

  • Administrateur
  • *
  • Messages: 47 086
    • Twitter LaFibre.info
Google Chrome mange la mémoire vive...
« Réponse #4 le: 04 février 2019 à 12:05:56 »
Petit bémol : la sécurité (isolement des process) ou les bug (prendre des variables sur 64bits là où 16 bits suffiraient pour éviter des dépassement ou autre phénomènes imprévus) on tendance à faire gonfler l’utilisation de la mémoire pour un même usage.

J'ai un PC chez moi qui date de 1982 et qui as uniquement 64Ko de ram, c'est sur que les contraintes sont bien différentes.

Pour rappel, Windows 95, un OS "moderne" qui date de 1995, ne demande que 4 Mo de ram (attention, c'est comme Windows 10 avec 1 Go de ram : c'est le strict minimum et c'est difficilement exploitable).

doctorrock

  • Abonné Orange Fibre
  • *
  • Messages: 931
  • Draguignan 83
Google Chrome mange la mémoire vive...
« Réponse #5 le: 04 février 2019 à 12:35:43 »
Yes, bon, le sujet va partir en ***** si on commence à parler des OS aussi , parce qu'on risque d'enchainer avec les app sur téléphones portables (qui possèdent aujourd'hui une quantité de RAM effrayante à mes yeux), donc restons en là  , la pensée étant la même : on ne progresse pas à mesure que le temps passe, mais on régresse à mes yeux.

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
Google Chrome mange la mémoire vive...
« Réponse #6 le: 04 février 2019 à 19:57:42 »
Si on réapprennait l'informatique à nos jeunes, comme on nous l'a appris à nous, à savoir à programmmer, avec quelques Ko ou Mo de RAM disponible, et donc à optimiser ses types et son packing de structure à l'octet près ... On en serait pas là.

Mais bon, aujourd'hui un programmeur javascript ne sait même plus ce qu'est un octet de mémoire, ni comment ca s'alloue sur un OS.
Donc ben oui, on se retrouve avec des navigateurs qui en eux même ne sont pas mauvais, simplement les langages de haut niveaux qu'ils supportent sont tellement mal utilisés ...
Idem pour les images. Je me rappelle, en 1998, comment que j'allais chercher l'octet à grapiller dans mon gif/png , comment améliorer la DCT dans JPEG, faire du downsampling....
Qui sait ce que c'est aujourd'hui tout ça ?  Certainement pas le développeur web lambda...

Merci le progrès, j'adore ^^

Je pensais comme ca a une époque puis plus maintenant. Pourquoi s'emmerder et perdre du temps a optimiser la conso si elle peut être gérer automatiquement.

Pourquoi ne pas évoluer aussi dans sa façon de programmer si les OS et le matériel permettent de relaxer certaines contraintes ?

Par exemple, les gens croient que Chrome est 'vorace' en mémoire. En fait non, c'est que Chrome maximise l'utilisation de la mémoire ce qui n'est pas la meme chose. Les ordi récents ont plein de RAM, autant s'en servir. L'approche choisie c'est que la RAM libre = RAM qui ne sert a rien.

On n'est pas sur un système embarqué avec 32Ko de RAM sans gestion dynamique ou la oui il faut optimiser sa conso mémoire.
On est sur des OS modernes capables d'adapter le fonctionnement et l'allocation dynamiquement a différents process.

Quand a Javascript oui c'est pourri mais sa gestion mémoire n'est pas la pire qui soit.

Apres on est d'accord sur la formation et le niveau des 'web developpeur' mais la c'est un autre problème plus lié au manque flagrant de gens bien formés par rapport a la demande. Je connais un bon paquet de 'web dev' qui n'ont aucun background 'informatique' et on fait ca simplement parce que y'a du boulot et ca paie bien.

doctorrock

  • Abonné Orange Fibre
  • *
  • Messages: 931
  • Draguignan 83
Google Chrome mange la mémoire vive...
« Réponse #7 le: 04 février 2019 à 20:00:21 »
Je suis d'accord :-)

Juste il ne faut pas oublier que des ressources de calcul (matériaux, energie ...), ca coûte cher à la planète.

Cochonou

  • Abonné Bbox fibre
  • *
  • Messages: 1 353
  • FTTH 2 Gb/s sur Saint-Maur-des-Fossés (94)
Google Chrome mange la mémoire vive...
« Réponse #8 le: 06 février 2019 à 08:53:05 »
Citer
Par exemple, les gens croient que Chrome est 'vorace' en mémoire. En fait non, c'est que Chrome maximise l'utilisation de la mémoire ce qui n'est pas la meme chose. Les ordi récents ont plein de RAM, autant s'en servir. L'approche choisie c'est que la RAM libre = RAM qui ne sert a rien.
Les systèmes d'exploitation actuels implèmentent tous le concept de mémoire virtuelle. Du coup, je ne suis pas certain que Chrome fonctionne comme tu le dises. Y a-t-il vraiment un mécanisme d'utilisation de la RAM variant en fonction de la mémoire volatile physiquement disponible ? Pour avoir cette information, il faudrait dans chaque cas passer par des API système qui ne sont pas portables d'un système d'exploitation à l'autre (et qui ne sont pas vraiment équivalentes). C'est possible... mais ça me parait également relativement peu probable.
Mais comme le code de Chromium est open source, il suffit d'aller voir. Reste à savoir où.  :P

doctorrock

  • Abonné Orange Fibre
  • *
  • Messages: 931
  • Draguignan 83
Google Chrome mange la mémoire vive...
« Réponse #9 le: 06 février 2019 à 10:15:59 »
Les systèmes d'exploitation actuels implèmentent tous le concept de mémoire virtuelle. Du coup, je ne suis pas certain que Chrome fonctionne comme tu le dises. Y a-t-il vraiment un mécanisme d'utilisation de la RAM variant en fonction de la mémoire volatile physiquement disponible ? Pour avoir cette information, il faudrait dans chaque cas passer par des API système qui ne sont pas portables d'un système d'exploitation à l'autre (et qui ne sont pas vraiment équivalentes). C'est possible... mais ça me parait également relativement peu probable.
Mais comme le code de Chromium est open source, il suffit d'aller voir. Reste à savoir où.  :P

Dans le heap manager, comme dans tout programme (je suis développeur système C, donc je pense à peu près savoir  ;))

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
Google Chrome mange la mémoire vive...
« Réponse #10 le: 06 février 2019 à 10:21:01 »
Il y a un comportement en fonction des 'memory pressure listeners'. En gros, Chrome consomme la RAM qu'il a besoin sans s'occuper d'optimiser ou de GC (garbage collect) ou de geler les onglets non visibles trop souvent jusqu’à temps qu'un mécanisme de 'memory pressure listener' lui signale que l'OS est short en mémoire.
Dans ce cas Chrome commence a réagir. Comme chaque onglet est indépendant, il n'y a pas d'arbitration centrale donc chaque onglet doit réagir a sa façon a cet événement et suivant son état et ce que l'OS permet.  Par exemple sur Android, un onglet en arriere plan (pas affiché) et sans données utilisateur en cours de remplissage (formulaire par exemple) peut-être carrèment tué pour libérer de la mémoire.

Ca ne veut pas dire que Chrome va consommer pour rien non plus. Si l'OS a 32 Go de libre, Chrome ne va pas plus consommer que si l'OS a 4 Go pour afficher une page. Il va consommer ce qu'il a besoin pour afficher la page.

Il y a un flag expérimental 'chrome://flags/#enable-memory-coordinator' qui est une tentative d'un coordinateur centralisé mais au derniere info que j'avais c'est plus ou en moins abandonné pour le moment car pas trop efficace.

Cochonou

  • Abonné Bbox fibre
  • *
  • Messages: 1 353
  • FTTH 2 Gb/s sur Saint-Maur-des-Fossés (94)
Google Chrome mange la mémoire vive...
« Réponse #11 le: 06 février 2019 à 15:14:56 »
Il y a un comportement en fonction des 'memory pressure listeners'. En gros, Chrome consomme la RAM qu'il a besoin sans s'occuper d'optimiser ou de GC (garbage collect) ou de geler les onglets non visibles trop souvent jusqu’à temps qu'un mécanisme de 'memory pressure listener' lui signale que l'OS est short en mémoire.
Dans ce cas Chrome commence a réagir.

C’est très intéressant. Tu sais si ça marche sur toutes les plate-formes supportées ?