Überprüfen Sie die CPU-Auslastung anhand der Registerkarte oder des Add-Ons für Firefox auf einem Mac. [Duplizieren]
13
Meine Firefox-Version verfügt über einen außer Kontrolle geratenen Prozess / Thread, durch den die CPU auf meinem MacBook Pro (OSX 10.7.4) nach einigen Minuten zu 100% verwendet wird. Ich habe versucht, zu verwenden about:memoryund about:addons-memoryzu versuchen, herauszufinden, was das Problem verursacht, aber es scheint überhaupt nicht mit der Speichernutzung zu tun zu haben. Gibt es stattdessen eine Möglichkeit, die CPU-Auslastung nach Registerkarte oder Add-On anzuzeigen?
Tatsächlich zeigt die about:memoryRegisterkarte die Speicherzuordnung nach Registerkarte an. es ist nur ein bisschen schwer zu grillen.
Wenn Sie zu wechseln about:memory, sollte eine Liste der Speicherzuordnungen angezeigt werden, die hierarchisch angeordnet sind. Das erste Element auf oberster Ebene in der Liste sollte Explizite Zuordnungen sein . Darunter befinden sich mehrere Blattknoten. Das, was Sie suchen, sind Fensterobjekte . Darunter beziehen sich die meisten mit "top" gekennzeichneten Knoten auf Registerkarten (wenn Sie eine Website laden, wird die Adresse neben "top" angezeigt). Zum Beispiel sehe ich:
Die Zahlen auf der Vorderseite geben die Speichernutzung an, die auch als Prozentsatz der gesamten Speichernutzung von Firefox angegeben wird.
Die Speichererweiterung wird ebenfalls angezeigt, jedoch nicht explizit durch Add-On. Sie müssten die Liste durchsuchen, um dies herauszufinden, indem Sie alle zu einem Add-On gehörenden Komponenten suchen und die Speicherzuordnungen addieren.
Beachten Sie, dass ich auf dem Beta-Kanal bin (also derzeit Firefox 22.0b2 verwende), aber ich glaube, dass dies auf älteren Releases funktioniert.
danke, ich habe aber zufällig keine speicherverluste bemerkt. es scheint, dass das Gedächtnis eher konstant bleibt. Es ist nur so, dass die CPU nach einer Weile ausfällt und so bleibt.
Claire
11
Die Frage betraf speziell die CPU- Auslastung, nicht den Arbeitsspeicher.
Laggingreflex
@laggingreflex: Ja, ich weiß. Ich antwortete auf die Aussage "aber es scheint überhaupt nicht mit der Speichernutzung zu tun zu haben." Wenn man jedoch zurückblickt, meint Claire vielleicht tatsächlich "CPU" anstelle von "Speicher".
InnerPortal
Mit Firefox 38 (unter Linux), ich hatte klicken Measureunter Show Memory Reportsbeschreiben , um den Baum Sie zu generieren und anzuzeigen. (Wenn dies auf allen Plattformen gleich ist, könnte dies die Antwort etwas vollständiger machen.)
joeytwiddle
5
Es gibt verschiedene Gründe für eine hohe CPU-Auslastung in Firefox (siehe unten).
1.Add-Ons
Die übliche Ursache für CPU-Probleme ist ein schlechtes Add-On. Der erste Test, den man machen sollte, ist Firefox ohne Add-Ons zu starten.
Klicken Sie oben im Firefox-Fenster auf die Schaltfläche Firefox, gehen Sie zum Menü Hilfe und wählen Sie Restart with Add-ons Disabled.... Firefox startet mit dem Firefox-Dialogfeld "Abgesicherter Modus". Hinweis: Sie können Firefox auch im abgesicherten Modus starten, indem Sie beim Starten von Firefox die Umschalttaste gedrückt halten.
Sie haben jetzt zwei Möglichkeiten:
Durch Klicken auf die Schaltfläche Im abgesicherten Modus starten werden Ihre Erweiterungen und Designs vorübergehend deaktiviert, die Hardwarebeschleunigung deaktiviert und die Symbolleisten- und Schaltflächenanpassungen zurückgesetzt. Wenn Sie den abgesicherten Modus verlassen und Firefox normal starten, kehren Ihre Erweiterungen, Designs und Einstellungen in den Zustand zurück, in dem sie vor dem Aufrufen des abgesicherten Modus waren.
Wenn Sie im abgesicherten Modus keine CPU-Probleme haben, liegt das Problem bei einem Ihrer Add-Ons. Sie können das Menü verwenden Tools > Add-ons, um Add-Ons selektiv zu deaktivieren und Firefox neu zu starten, bis Sie die schlechte finden.
2.Flash
Flash ist für solche Probleme bekannt. Eine der üblichen Möglichkeiten, dies zu beheben, besteht darin, die Hardwarebeschleunigung
von FirefoxTools > Options zu deaktivieren, indem Sie das Kontrollkästchen im Menü auf der Registerkarte Erweitert deaktivieren Use Hardware Acceleration When Available.
Es wird empfohlen, die beiden Add-Ons Adblock Plus und NoScript zu verwenden, um unnötige Elemente, einschließlich Flash, auf der angezeigten Seite selektiv zu blockieren.
3.JavaScript
Das JavaScript auf der Website, die Sie auf einer Ihrer Registerkarten anzeigen, ist möglicherweise schlecht codiert und verschwendet CPU durch Schleifen.
Das beste Mittel ist die Verwendung von NoScript, um zu vermeiden, dass JavaScript von Websites ausgeführt wird, denen Sie nicht vertrauen. Dies ist auch eine Sicherheitsmaßnahme, die jeder verwenden sollte, um Cross-Site-Scripting- Exploits zu vermeiden
.
4.Profilierung
Wenn Sie nicht genau wissen, welche Website die hohe CPU-Auslastung verursacht, können Sie die Profilerstellung in Firefox verwenden. Dies ist jedoch keine einfache Aufgabe.
@claire: Es gibt momentan keinen "einfachen" Weg, um zu sehen, was du willst. Wenn Sie sich auf Harrymc begeben, werden Sie einige Informationen über die Ursache des Problems finden, aber vielleicht nicht sicher.
Wenn Sie den "harten" Weg gehen möchten, der Ihnen zeigt, was Ihre CPU in Firefox und / oder seinen Plugins frisst, müssen Sie mit dem Debuggen Ihres Firefox in Ihrer Umgebung beginnen (manchmal ist es nicht nur Firefox und / oder das Plugin selbst, aber eine korrupte Bibliothek, auf die sie sich verlassen). Hier finden Sie eine vollständige Erklärung, wie Sie dies tun können, wenn Sie eine Vorstellung von der Programmierung haben. XCode kann kostenlos von Apple heruntergeladen werden:
Sie müssen jedoch nicht den gesamten Mozilla-Code debuggen, sondern finden den Punkt, der mit der steigenden CPU-Auslastung zusammenhängt. Das kann dir genau sagen, wo das Problem herkommt (so eine schlechte Schleife etc.).
Wenn Ihr Firefox aus irgendeinem Grund die gesamte CPU-Auslastung in Anspruch nimmt und diese auffrisst, können Sie versuchen, die Anzahl einzuschränken. Anzahl der Prozessoren und die Priorität, die die CPU diesem Prozess gibt, um die CPU-Auslastung zu verringern.
Klicken Sie dazu auf ( Ctrl+ Alt+ Del), um den Task-Manager zu öffnen, und klicken Sie dann auf die Registerkarte "Prozess" (die den gesamten Prozess mit seiner Erweiterung anzeigt (im Grunde genommen sollten alle Prozesse unter Windows mit der Erweiterung ".exe" enden). Klicken Sie mit der rechten Maustaste darauf und wählen Sie Select Priorität die Priorität einzustellen (wenn es höher als normal dann setzt auf normal gesetzt ist, andernfalls , wenn es Satz normal und Sie wollen es zu senken , mehr als Auswahl niedrigeren Wert als normal) und Set Affinity das zu begrenzen , Anzahl der Prozessoren, die zu diesem Prozess beitragen. Geben Sie die Anzahl der Prozessoren ein, die Sie verwenden möchten, und klicken Sie auf OK, um zurückzukehren. Überprüfen Sie, ob dies funktioniert.
Beachten Sie, dass dies nur für Multiprozessor-Computer (wie Dual-Core-, Quad-Core- usw.) funktioniert und dass sich die CPU-Auslastung von der Speichernutzung unterscheidet.
Entschuldigung für meinen Fehler, ich habe vergessen zu lesen, dass Sie Firefox auf MAC verwenden. Ich habe nicht viel Erfahrung mit MAC, aber wenn es einen Task-Manager wie den Windows-Manager enthält, funktioniert diese Methode nur für Windows-Systeme.
Hunter
3
Dies ist ein guter Rat, der jedoch der Beantwortung der eigentlichen Frage in keiner Weise nahe kommt.
Measure
unterShow Memory Reports
beschreiben , um den Baum Sie zu generieren und anzuzeigen. (Wenn dies auf allen Plattformen gleich ist, könnte dies die Antwort etwas vollständiger machen.)Es gibt verschiedene Gründe für eine hohe CPU-Auslastung in Firefox (siehe unten).
1.Add-Ons
Die übliche Ursache für CPU-Probleme ist ein schlechtes Add-On. Der erste Test, den man machen sollte, ist Firefox ohne Add-Ons zu starten.
So beheben Sie Firefox-Probleme im abgesicherten Modus :
Wenn Sie im abgesicherten Modus keine CPU-Probleme haben, liegt das Problem bei einem Ihrer Add-Ons. Sie können das Menü verwenden
Tools > Add-ons
, um Add-Ons selektiv zu deaktivieren und Firefox neu zu starten, bis Sie die schlechte finden.2.Flash
Flash ist für solche Probleme bekannt. Eine der üblichen Möglichkeiten, dies zu beheben, besteht darin, die Hardwarebeschleunigung von Firefox
Tools > Options
zu deaktivieren, indem Sie das Kontrollkästchen im Menü auf der Registerkarte Erweitert deaktivierenUse Hardware Acceleration When Available
.Es wird empfohlen, die beiden Add-Ons Adblock Plus und NoScript zu verwenden, um unnötige Elemente, einschließlich Flash, auf der angezeigten Seite selektiv zu blockieren.
3.JavaScript
Das JavaScript auf der Website, die Sie auf einer Ihrer Registerkarten anzeigen, ist möglicherweise schlecht codiert und verschwendet CPU durch Schleifen.
Das beste Mittel ist die Verwendung von NoScript, um zu vermeiden, dass JavaScript von Websites ausgeführt wird, denen Sie nicht vertrauen. Dies ist auch eine Sicherheitsmaßnahme, die jeder verwenden sollte, um Cross-Site-Scripting- Exploits zu vermeiden .
4.Profilierung
Wenn Sie nicht genau wissen, welche Website die hohe CPU-Auslastung verursacht, können Sie die Profilerstellung in Firefox verwenden. Dies ist jedoch keine einfache Aufgabe.
Debugger, die auch Profile erstellen, sind:
Tools > Web developer > Profiler
Siehe auch den Mozilla-Artikel Leistungsprobleme melden .
Wenn Sie ein Entwickler sind und sich wie ein Abenteuer fühlen und auf dem Mac arbeiten, können Sie DTrace verwenden, wie unter Leistung / Optimieren von JavaScript mit DTrace erläutert. Dies ist das Tool, das die Mozilla-Entwickler verwenden.
quelle
@claire: Es gibt momentan keinen "einfachen" Weg, um zu sehen, was du willst. Wenn Sie sich auf Harrymc begeben, werden Sie einige Informationen über die Ursache des Problems finden, aber vielleicht nicht sicher.
Wenn Sie den "harten" Weg gehen möchten, der Ihnen zeigt, was Ihre CPU in Firefox und / oder seinen Plugins frisst, müssen Sie mit dem Debuggen Ihres Firefox in Ihrer Umgebung beginnen (manchmal ist es nicht nur Firefox und / oder das Plugin selbst, aber eine korrupte Bibliothek, auf die sie sich verlassen). Hier finden Sie eine vollständige Erklärung, wie Sie dies tun können, wenn Sie eine Vorstellung von der Programmierung haben. XCode kann kostenlos von Apple heruntergeladen werden:
https://developer.mozilla.org/en-US/docs/Debugging_on_Mac_OS_X
Sie müssen jedoch nicht den gesamten Mozilla-Code debuggen, sondern finden den Punkt, der mit der steigenden CPU-Auslastung zusammenhängt. Das kann dir genau sagen, wo das Problem herkommt (so eine schlechte Schleife etc.).
quelle
Wenn Ihr Firefox aus irgendeinem Grund die gesamte CPU-Auslastung in Anspruch nimmt und diese auffrisst, können Sie versuchen, die Anzahl einzuschränken. Anzahl der Prozessoren und die Priorität, die die CPU diesem Prozess gibt, um die CPU-Auslastung zu verringern.
Klicken Sie dazu auf ( Ctrl+ Alt+ Del), um den Task-Manager zu öffnen, und klicken Sie dann auf die Registerkarte "Prozess" (die den gesamten Prozess mit seiner Erweiterung anzeigt (im Grunde genommen sollten alle Prozesse unter Windows mit der Erweiterung ".exe" enden). Klicken Sie mit der rechten Maustaste darauf und wählen Sie Select Priorität die Priorität einzustellen (wenn es höher als normal dann setzt auf normal gesetzt ist, andernfalls , wenn es Satz normal und Sie wollen es zu senken , mehr als Auswahl niedrigeren Wert als normal) und Set Affinity das zu begrenzen , Anzahl der Prozessoren, die zu diesem Prozess beitragen. Geben Sie die Anzahl der Prozessoren ein, die Sie verwenden möchten, und klicken Sie auf OK, um zurückzukehren. Überprüfen Sie, ob dies funktioniert.
Beachten Sie, dass dies nur für Multiprozessor-Computer (wie Dual-Core-, Quad-Core- usw.) funktioniert und dass sich die CPU-Auslastung von der Speichernutzung unterscheidet.
quelle