Vérifiez l'utilisation du processeur par onglet ou par module complémentaire sur Firefox sur Mac [dupliquer]


13

Ma version de Firefox a un processus / thread incontrôlable qui lui permet d'utiliser 100% cpu sur mon MacBook Pro (OSX 10.7.4) après quelques minutes. J'ai essayé d'utiliser about:memoryet about:addons-memoryd'essayer de comprendre ce qui cause le problème, mais cela ne semble pas du tout lié à l'utilisation de la mémoire. Existe-t-il un moyen de voir l'utilisation du processeur par onglet ou module complémentaire?

Réponses:


6

En fait, l' about:memoryonglet affiche l'allocation de mémoire par onglet; c'est juste un peu difficile à grogner.

Lorsque vous accédez à about:memory, vous devriez voir une liste des allocations de mémoire organisées de manière hiérarchique. Le premier élément de niveau supérieur de la liste doit être Allocations explicites . En dessous se trouvent plusieurs nœuds foliaires. Celui que vous cherchez, ce sont des objets-fenêtres . En dessous, la plupart des nœuds étiquetés "en haut" se réfèrent à des onglets (si vous chargez un site Web, vous verrez l'adresse à côté de "en haut"). Par exemple, je vois:

├───29.63 MB (15.27%) -- window-objects
│   ├──12.64 MB (06.52%) ++ top(chrome://browser/content/browser.xul, id=3)
│   ├───6.84 MB (03.53%) ++ top(http://www.cnn.com/, id=31)
│   ├───4.55 MB (02.35%) ++ top(https://ftp.mozilla.org/, id=24)
│   ├───3.50 MB (01.80%) ++ (5 tiny)

Les chiffres à l'avant correspondent à l'utilisation de la mémoire, également indiquée en pourcentage de l'utilisation globale de la mémoire de Firefox.

L'utilisation de la mémoire supplémentaire est également indiquée, mais pas explicitement par une extension. Vous devez rechercher dans la liste pour comprendre cela en trouvant tous les composants appartenant à un module complémentaire et en additionnant les allocations de mémoire.

Remarque, je suis sur la chaîne bêta (donc j'utilise actuellement Firefox 22.0b2) mais je crois que cela fonctionne sur les anciennes versions.


merci, je n'ai pas remarqué de fuite de mémoire. il semble que la mémoire a tendance à rester assez constante. c'est juste qu'après un certain temps, le processeur augmente et reste ainsi.
claire

11
La question portait spécifiquement sur l' utilisation du processeur , pas sur la mémoire.
laggingreflex

@laggingreflex: Oui, je sais. Je répondais à la déclaration "mais cela ne semble pas du tout lié à l'utilisation de la mémoire". Cependant, en y repensant, peut-être que claire signifiait en fait "CPU" au lieu de "mémoire".
InnerPortal

Avec Firefox 38 (fonctionnant sous Linux), j'ai dû cliquer Measuresous Show Memory Reportspour générer et visualiser l'arborescence que vous décrivez. (Si c'est la même chose sur toutes les plateformes, cela pourrait rendre la réponse un peu plus complète.)
joeytwiddle

5

Il y a plusieurs raisons à une utilisation élevée du processeur dans Firefox, détaillées ci-dessous.

1. modules complémentaires

La cause habituelle des problèmes de processeur est un mauvais module complémentaire. Le premier test que l'on devrait faire est de démarrer Firefox sans modules complémentaires.

Dans Résoudre les problèmes de Firefox en utilisant le mode sans échec :

En haut de la fenêtre Firefox, cliquez sur le bouton Firefox, accédez au menu Aide et sélectionnez Restart with Add-ons Disabled.... Firefox démarre avec la boîte de dialogue Firefox Safe Mode. Remarque: Vous pouvez également démarrer Firefox en mode sans échec en maintenant la touche Maj enfoncée lors du démarrage de Firefox.

Vous avez maintenant deux options:

Cliquez sur le bouton Démarrer en mode sans échec pour désactiver temporairement vos extensions et thèmes, désactiver l'accélération matérielle et réinitialiser les personnalisations de la barre d'outils et des boutons. Lorsque vous quittez le mode sans échec et démarrez Firefox normalement, vos extensions, thèmes et paramètres reviennent à l'état dans lequel ils se trouvaient avant de passer en mode sans échec.

Si en mode sans échec, vous n'avez aucun problème de processeur, le problème vient de l'un de vos modules complémentaires. Vous pouvez utiliser le menu Tools > Add-onspour désactiver sélectivement les modules complémentaires et redémarrer Firefox jusqu'à ce que vous trouviez le mauvais.

2. flash

Flash est connu pour ces problèmes. Une des façons habituelles de le résoudre est de désactiver l'accélération matérielle de Firefox en utilisant le menu Tools > Options, onglet Avancé, pour décocher Use Hardware Acceleration When Available.

Les deux modules complémentaires Adblock Plus et NoScript sont recommandés pour bloquer sélectivement les éléments inutiles, y compris Flash, sur la page que vous consultez.

3. JavaScript

Le code JavaScript du site Web que vous consultez dans l'un de vos onglets peut être mal codé et gaspiller le processeur en boucle.

Le meilleur remède consiste à utiliser NoScript pour éviter d'exécuter JavaScript à partir de sites Web auxquels vous ne faites pas confiance. Il s'agit également d'une mesure de sécurité que quiconque devrait utiliser pour éviter les exploits de script intersite.

4. profilage

S'il est très difficile de savoir quel site Web est à l'origine du CPU élevé, on peut utiliser le profilage dans Firefox, bien que ce ne soit pas un exercice simple.

Les débogueurs qui effectuent également le profilage sont:

Si vous êtes un développeur et que vous vous sentez comme une aventure, et puisque vous êtes sur Mac, vous pouvez utiliser DTrace comme expliqué dans Performances / Optimisation JavaScript avec DTrace , qui est l'outil utilisé par les développeurs Mozilla.


3

@claire: Il n'y a actuellement aucun moyen «facile» de voir ce que vous voulez. Si vous suivez la voie de harrymc, vous trouverez des informations sur la source du problème, mais peut-être pas avec certitude.

Si vous voulez suivre la voie `` difficile '', cela vous montrera qui mange votre CPU dans Firefox et / ou ses plugins, vous devez commencer à déboguer votre Firefox dans votre environnement (parfois ce n'est pas seulement Firefox et ou le plugin lui-même, mais une bibliothèque corrompue sur laquelle ils comptent). Voici une explication complète sur chaud pour le faire, si vous avez une idée de la programmation. XCode est téléchargeable gratuitement sur Apple:

https://developer.mozilla.org/en-US/docs/Debugging_on_Mac_OS_X

Mais vous n'avez pas besoin de déboguer le code complet de Mozilla, mais vous trouverez le point qui est en corrélation avec l'augmentation de l'utilisation du processeur. Cela peut vous dire exactement d'où vient le problème (mauvaise boucle, etc.).


1

Si, pour une raison quelconque, votre Firefox utilise et consomme toute votre utilisation du processeur, vous pouvez essayer de limiter le non. des processeurs et la priorité que l'UC accordera à ce processus pour réduire l'utilisation de l'UC.

Pour ce faire, cliquez sur ( Ctrl+ Alt+ Del) pour ouvrir le Gestionnaire des tâches, puis cliquez sur l'onglet Processus (celui qui affiche tous les processus avec leur extension (essentiellement comme vous le faites sous Windows, tous les processus doivent se terminer par une extension .exe). Clic droit et sélectionnez Sélectionner la priorité pour définir la priorité (si elle est définie sur supérieure à la normale, mettez-la à la normale, sinon si elle est définie sur la normale et que vous souhaitez la réduire davantage que sélectionner une valeur inférieure à la normale) et Définir l'affinité pour limiter la nombre de processeurs qui contribuent à ce processus. Définissez le nombre de processeurs que vous souhaitez, puis cliquez sur ok pour revenir en arrière. Vérifiez si cela fonctionne.

N'oubliez pas que cela ne fonctionne que pour les ordinateurs multiprocesseurs (comme les processeurs dual-core, quad-core, etc.) et que l'utilisation du processeur est différente de l'utilisation de la mémoire.


1
Désolé pour mon erreur, j'ai oublié de lire que vous utilisiez Firefox sur MAC. Je n'ai pas beaucoup d'expérience avec MAC mais s'il contient un gestionnaire de tâches comme celui de Windows, cette méthode ne fonctionne que pour le système Windows.
Hunter

3
C'est un bon conseil, mais en aucun cas il ne vient même près de répondre à la question réelle.
laggingreflex
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.