Safari : méfiez-vous des extensions

Christophe Laporte |
La gestion de la mémoire n'a jamais été le point fort de Safari. Avec la version 5.0 sortie l'année dernière, les choses semblent avoir empiré.

Nombre d'extensions, notamment celles qui opèrent des modifications dans le code, peuvent avoir des conséquences catastrophiques sur les performances du navigateur d'Apple. Nous en avons fait l'expérience lors de tests menés dernièrement avec SunSpider, l'outil mis au point par Apple pour évaluer les performances d'un moteur JavaScript.



Avec une dizaine d'extensions activées, le butineur de Safari commence la série de tests avec une consommation mémoire de l'ordre de 180 Mo. Lors de l'exercice, la consommation du logiciel d’Apple n'a cessé d'augmenter pour culminer à la fin à 1,8 Go de RAM.

En refaisant la même opération cette fois avec toutes les extensions désactivées, la consommation est restée stable. Nous avons ensuite répété ce test en activant une extension à chaque fois. Nous avons pu constater que des plug-ins comme Instapaperit, YouTube 5, Image Block étaient les principaux responsables de cette consommation massive de mémoire vive. Est-ce que ce sont les extensions qui sont mal développées ou est-ce la manière dont le butineur les gère ? Une chose est certaine, le même test avec Chrome et des extensions similaires est très loin de provoquer les mêmes effets.

La désactivation des extensions est loin de régler les problèmes de gestion de mémoire vive, mais cela illustre bien à quel point le navigateur d’Apple est à la peine sur ce plan.
avatar Bigdidou | 

Ah, zut, j'aime bien Instapaperit...
A ce propos, comment sont gérées les mises à jour des extensions de Safari ?
Il faut vérifier "manuellement", ou c'est automatique genre Firefox ?

avatar warnaud | 

Alors juste en surfant, on peut aussi arriver à ce genre de consommation mémoire ... heureusement, Apple à pensé à tout en augmentant la quantité de mémoire maximal dans les nouveaux Mac \o/ C'est pas génial? (Solution déjà adoptée par les fabriquant de PC pour faire tourner Windows ...)

avatar elamapi | 

Pour info, ce n'est pas l'apanage de Safari. J'ai les même soucis de mémoire avec Firefox 3 et 4 et Opera. Il n'y à que Chrome qui s'en sorte un peu mieux et encore ... mais j'ai d'autre soucis avec ce dernier.

Bref, les navigateurs, ca reste quand même pas top.

avatar elamapi | 

Je precise que j'ai les même soucis sur mac/pc et linux (avec FF et chrome et opera).

avatar wagamuffin | 

En meme temps, Chrome sur mac a d'autres soucis, tel que le stockage en clair des mots de passe enregistres

avatar daito | 

Justement ce n'est pas juste en surfant mais c'est en réalisant des séries de tests SunSpider!

Donc je ne vois pas le point de cette news? L'utilisateur ne passe pas son temps à lancer des tests SunSpider en série!

avatar marc_os | 

Elle est bien bonne : Apple devrait être responsable de la programmation des extensions de tierce partie ?
Safari fait depuis Snow Leopard ce qu'il doit faire : Les faire tourner dans un processus indépendant de Safari lui même.
Si une extension (éventuellement mal programmée, mais pas obligatoirement) utilise "beaucoup" de mémoire, que devrait faire Safari ? Limiter l'utilsation arbitrairement l'utilisation mémoire des extensions ? Et selon quels critères ? Si Apple faisait ça, on peut être sûr que les développeurs râleraient tout leur saoul. Et sur les forums, les gens criraient au scandâle à cause des limitations.

Conclusion : Si une extension sur Mac utilise 10 fois plus de mémoire que la MEME extension pour Windows (et non pas une extension "similaire"), alors c'est auprès des développeurs de cette extension qu'il faut se plaindre !!!!!!

avatar geneosis | 

Mon safari peut monter en utilisation normale à plus de 400Mo (régulièrement). Je ne sais pas quelle extension pose problème, j'ai fait quelques tests rapides, et il semble que l'extension adBlock soit fautive (du moins en partie). Cela je préfère quand même bénéficier de cette extension quitte a avoir une sur-consommation mémoire. J'ai essayé le web sans, y a pas moyen.

avatar cecile_aelita | 

@wagamuffin
heu... normalement chrome sur mac utilise le trousseau d'acces, donc il ne stock pas en clair tes mots de passe.
sur windows en effet, tu as acces a tes lmots de passes en clair, mais pas sur macOS

avatar wagamuffin | 

@romainB84
justement, c'est ce que je croyais... mais si tu vas dans la gestion des mots de passe de chrome, que tu cliques sur les points et tu selectionnes afficher, les mots de passe sont affichés imnmediatement sans que l'on te demande un mot de passe quelconque ; chose qui est impossible dans le trousseau.

avatar popey.marin | 

wagamuffin :
Une application peut avoir un accès constant au trousseau. C'est le cas quand à la demande d'autorisation, l'utilisateur clique sur "toujours autoriser".
A partir de ce moment, le trousseau ne demandera plus rien pour fournir un mot de passe en clair à l'appli.

Donc, il est possible que Chrome stock les mots de passe dans le trousseau malgrès tout. Mais effectivement, donner la possibilité de les afficher sans demander de mot de passe, ce n'est pas très subtile ...

avatar popey.marin | 

Petit ajout :
la liste des applications qui ont accès sans identification à un mot de passe est visible dans l'onglet "Controle d'accès" de la fenêtre qui s'affiche en double cliquant sur un mot de passe dans le trousseau.
Cette fenêtre permet aussi de supprimer ce privilège pour une application.

avatar oomu | 

ha ben qui dit code en + , dit comportements en +

qui dit Extension par une personne extérieure au logiciel, dit fonctionnalités, bugs, ressources occupées supplémentaires non prévues par les auteurs du logiciel.

La dure vie des "Extension".

L'Extension expose le logiciel à un risque. Si le logiciel bride les Extensions, alors on perd en flexibilité.

-
Il vous faut considérer les "Extensions" comme des ajouts à votre ordinateur, et juger l'apport et son coût en performance pour la machine.

Ce n'est pas grave si une Extension consomme de la mémoire, si cela lui permet de vous fournir du bon travail.

-
Oui, quand vous ajoutez une "extension", vous modifiez firefox/opera/ie/safari/autre. Vous ajoutez un programme de plus à la machine.

avatar ptsm | 

Je vais regarder de plus près chaque extension que j'ai activée, parce qu'avec un test sunspider j'arrive à 2.5Go pris par Safari, sur 4 :/

avatar qlb212 | 

Perso je n'ai pas d'extension, mais je suis tout de même obligé de redémarrer Safari plusieurs fois dans la journée pour éviter ces effets de mémoire...

avatar ziggyspider | 

@ bigdidou

Dans le panneau Extensions des prefs de Safari, il y a une case à cocher pour faire automatiquement les mises à jour (cochée par défaut il me semble).

avatar Bigdidou | 

Effectivement. Merci +++

avatar Starbuck | 

Sans extensions, j'atteint parfois 1,5Go juste pour Safari … Au début je le quittait plusieurs fois par jour. Maintenant, j'ai pris Chrome.

avatar Benlop | 

Sinon, on peut aussi se serve de son ordinateur sans passer son temps à regarder le moniteur d'activité. De cette manière, pas de souci, et le fonctionnement de l'ordinateur n'est pas ralenti.

La RAM, elle est faite pour être utilisée.

avatar Aeon | 

Bizarre tous ces commentaires. Perso sur mon MacBook blanc de 2010, je peux ouvrir 20 onglets sur Safari, la conso reste à 630mo (moitié moins avec 3 ou 4 onglets ouverts). Et même sur les sites très gourmands en flash, la conso augmente le plus souvent de 10/20mo max.
En revanche si je ferme 15 onglets sur 20 (à fin de test), la conso redescend seulement à 550mo. Et ça chauffe parfois sur certaines vidéos, c'est assez aléatoire.

avatar eVolution | 

La consommation de RAM de Safari est un vrai un problème. Mais j'aime trop Safari pour m'en passer. J'en essaye parfois d'autres mais je retourne vite à Safari.

Je vois Safari consommer plus 2 Go chez moi, parfois plus de 4 Go.

Grand consommateur d'agrégateurs de news, tel MacGénération, j'ai en général plus de 100 onglets ouverts dans plusieurs fenêtres. J''utilise systématiquement le "Command-Clic" pour ouvrir les liens d'intérêts dans des onglets séparés (que je lis "plus tard").
Résultat: beaucoup d'onglets... mon record: 232! (on le voit en tentant de quitter Safari dans le message qui s'affiche).

Le vrai problème, ça ne m'a pas l'air tellement le nombre simultané de pages web ouvertes, mais plutôt l'historique. J'ai parfois tenté de tout refermer et retomber à 1 page, je récupère très peu en RAM, ça je reste au-delà de 1 ou 2 Go, ça c'est pas normal du tout!

Je vais donc essayer de limiter mon emploi d'extensions si elles peuvent créer des problèmes, mais il y a les extensions indispensables...

Déjà, il est indispensable de supprimer Flash. On en peut pas discuter des performances de Safari si on laisse Flash faire ses "conneries". Donc une extension telle que "ClickToPlugin", est indispensable. Si je laisse Flash libre dans ses ébats, Safari dépasse rarement les 50 onglets sans geler (je rêve vraiment du jour où la "peste" Flash sera éradiquée du web!).

Mes autres extensions indispensables sont:
- Sessions, pour retrouver ponctuellement mes onglets après relance de Safari (la méthode native à Safari étant inadéquate)
- AdBlock (bien évidemment!)
- Defacer (pour éradiquer la pollution "Facebook")
- LastPass

De plus j'ai le merveilleux 1Password, mais ça ne passe pas par l'interface standard des extensions.

Je vais donc essayer en ne gardant que ces extensions, et je verrai si je gagne en RAM, mais j'en doute...

Tout bon conseil est bienvenu, sauf bien sûr celui de changer mes habitudes! ;O)

avatar qlb212 | 

@ benlop : C'est ironique ? Si je regarde mon moniteur d'activité c'est bien parce que je constate un ralentissement, ce qui me permet de vérifier que Safari est bien en cause. Bien sûr que la RAM est faite pour être utilisée, mais je te rappelle que lorsqu'elle vient à manquer (2Go c'est vite parti), c'est le swap qui rentre en jeu et là les performances se dégradent...

@ Aeon : Dans mon cas ce n'est pas uniquement le nombre d'onglet ouverts simultanément qui jouent, mais également le temps que je passe à surfer. A force d'en ouvrir/fermer, au bout de plusieurs heures Safari me bouffe toute la RAM.

avatar eVolution | 

@Aeon: 20 onglets ouverts, c'est gentillet. Essaye 150! :O)

@qlb212: Tout a fait d'accord! C'est en bonne partie l'historique de surfing qui consomme la mémoire. Je quitte Safari et restitue les mêmes onglets, et Safari consomme beaucoup moins (bien que toujours trop!).

Comme je l'ai dit, j'ai beaucoup d'onglets ouverts simultanément (et certains vont me dire que c'est ma faute!), mais, disons, 4Go pour 150 onglets, ça fait 27 Mo par onglet (sans Flash!), y'a quelque chose qui cloche!

avatar Rigat0n | 

@ eVolution :
230 onglets, ça devient vraiment anormal... Quand tu as lu un truc, tu fermes l'onglet ?

avatar eVolution | 

@Rigat0n: En général, oui je ferme, sauf des fois, je sais que si je ferme, je vais oublier définitivement, alors je garde ouvert en désespoir de cause...

Mais la plupart du temps, je vois un titre intéressant, j'ouvre dans un onglet pour lire plus tard, et ça s'accumule.

Je pense que mon comportement est assez naturel malgré tout, même s'il est poussé à l'extrême, c'est d'ailleurs un peu la même raison pour laquelle beaucoup ont du bordel sur leur bureau (physique), dans leurs tiroirs, etc... faut pas ramener la faute à l'utilisateur.

Il n'en reste pas moins qu'une page web ouverte mais non-active, ne devrait pas prendre en RAM plus que sa taille au chargement, et surtout pas 25 Mo ou davantage en moyenne (je ne charge pas beaucoup de pages avec des photos super hi-res ou des vidéos).
Et surtout, si on ferme une page, on devrait récupérer 100% de la place utilisée.

CONNEXION UTILISATEUR