Wie können Ursachen von ≥100% der CPU-Auslastung in Firefox (auf dem Desktop) ermittelt werden?

2892
Sarge Borsch

Bestimmte Websites führen dazu, dass Firefox kontinuierlich 100% CPU verwendet. Einige davon kann ich einfach blockieren und niemals besuchen, aber andere müssen ich leider manchmal verwenden.

Ich möchte das bekämpfen, und der erste Schritt besteht darin, den beleidigenden JavaScript-Code (oder möglicherweise andere beleidigende Ressourcen, wer weiß) zu identifizieren. Danach kann es möglich sein, diese Teile selektiv zu blockieren / automatisch neu zu schreiben oder Autoren zu drängen, um Probleme zu beheben in ihrem Code.

Aber wie mache ich das? Firefox DevTools verfügt über einen Performance-Inspector, der jedoch nur die Frame-Rendering-Zeiten, Antwortzeiten usw. aufzeichnet. Ich konnte keine Informationen darüber finden, wo die tatsächliche CPU-Zeit verbraucht wird, und es ist, so weit ich konnte, auf einen einzelnen Tab beschränkt sagen.

Aktualisieren

Ich habe versucht, alle Erweiterungen zu deaktivieren, und es zeigte sich, dass sie keine 100% ige CPU-Auslastung verursachen.

Update 2

Ich verwende bereits uBlock Origin. Auch habe ich versucht, einige Skripte von Drittanbieter-Domains grob zu blockieren (für diese problematische Website), aber in meinem Fall bleibt es entweder so wie es ist oder bricht vollständig ab. Ich muss also Javascript in irgendeiner Form global anzeigen, um zu sehen, welche Funktion (en) zur Laufzeit verrückt werden.

4
passiert dasselbe in anderen Browsern? Blaine vor 7 Jahren 0
Ich würde alle Browser-Plugins deaktivieren, um zu beweisen, dass Sie nichts unter Kontrolle haben. Wenn dies immer noch geschieht, können Sie als erstes Prozess-Explorer ausführen. Wenn Sie sich die Registerkarte "Threads" des Prozesses "firefox.exe" ansehen, können Sie nach CPU-Spalten sortieren. Wie sieht der Stack aus? Interessante Module, immer das gleiche, etc ... Ich würde Debugging Tools für Windows (SDK) installieren, um die neueste dbghelp.dll-Referenz zu erhalten, die in ProcessExplorer enthalten ist. Mozilla stellt ihre Symbole zur Verfügung. Dies ist nur ein Ausgangspunkt, um das Problem aus einem allgemeinen Prozess zu betrachten, der aus Sicht des Betriebssystems ausgeführt wird. HelpingHand vor 7 Jahren 1
@Blaine hat es noch nicht ausprobiert, aber die Verwendung eines anderen Browsers ist für mich keine Option (außer für Testzwecke). Ich versuche das Problem in Firefox zu lösen. Oder einige andere Browser verfügen über ausgefeiltere Entwicklertools, mit deren Hilfe die problematischen Daten auf Websites gefunden werden können. Sarge Borsch vor 7 Jahren 0
@EMK guter Vorschlag, ich werde versuchen, ** Erweiterungen zu deaktivieren **. (Ich verwende bereits keine ** Plugins **). Ich benutze kein Windows und suche idealerweise nach plattformübergreifenden Lösungen. Im Moment bin ich bei macOS. Ich kann die CPU-Auslastung einzelner Threads in Activity Monitor nicht sehen. Möglicherweise ist dies in Befehlszeilen-Dienstprogrammen (oben) sichtbar. Nur "top" auszuführen, scheint sehr unvollständige Informationen zu geben ... Sarge Borsch vor 7 Jahren 0
Ich hatte ein paar Websites, die mich verrückt machen. Jedes Mal, wenn sie diese Schriftarten-Website in ihrem Skript verwendet haben, war sogar mein Quad-Prozessor zu 100% verfügbar. Das Update bestand darin, vier neue Einträge der HOSTS-Datei hinzuzufügen, [beispiel = 127,0,0,0 block.com] für: "fonts.com" und "fast.fonts.com" (ich habe auch "www." Hinzugefügt URLs). Als Nächstes beheben Sie für fast alles andere wie wunderground.com einfach die Erweiterung "UBlock Origin", was erstaunlich ist. DaaBoss vor 7 Jahren 1
@DaaBoss siehe Update 2. Außerdem scheint fonts.com in diesem Fall nicht zu verwenden, da es im uBO-Menü keinen solchen Eintrag gibt. Sarge Borsch vor 7 Jahren 0
Sie benötigen die nächtliche Version von Firefox und verwenden Sie WPR / WPA, um die CPU-Nutzung zu bestimmen: http://superuser.com/a/1164299/174557 magicandre1981 vor 7 Jahren 0
@ magicandre1981 Dies sieht aus wie eine reine Windows-Lösung, daher kann ich es nicht versuchen. Sarge Borsch vor 7 Jahren 0
OK, fügen Sie das nächste Mal den Tag Ihres verwendeten Betriebssystems hinzu magicandre1981 vor 7 Jahren 0
@ magicandre1981 Ich suche jedoch nach plattformübergreifenden Lösungen, und die Frage bezieht sich nicht wirklich auf ein bestimmtes Betriebssystem Sarge Borsch vor 7 Jahren 0
Aber nur Windows bietet das beste Werkzeug zur Diagnose der CPU-Nutzung magicandre1981 vor 7 Jahren 0
Ich habe völlig vergessen, wie ich herausgefunden habe, dass das Problem Fonts.com war. Finden Sie das heraus, und wir alle können einen Weg finden, um herauszufinden, nicht nur dieses Problem, sondern Sie wissen auch, wie Sie eine solche Website diagnostizieren können. Es wäre hilfreich, wenn Sie ein paar vollständige URLs der Website freigeben könnten, die Probleme verursachen, und eine, die dies nicht tut. Das Duplizieren der Probleme für jeden von uns sollte ziemlich einfach sein, wenn Sie es tun. DaaBoss vor 7 Jahren 0
@DaaBoss ist Slack Messenger für das Web und das Problem wird nicht immer und nur in einigen "Teams" reproduziert Sarge Borsch vor 7 Jahren 0

1 Antwort auf die Frage

4
Wodanaz Spitfire

Sie können die fehlerhafteabout:performance Registerkarte aufspüren und dann mit der Protokollierung von Ublock ermitteln, was die hohe CPU verursacht.

So habe ich herausgefunden, wie ein eingebettetes Youtube-Video Probleme verursachte, weil es ständig geladen wurde www.youtube.com/yts/jsbin/player_*************/en_US/remote.js, obwohl die automatische Wiedergabe deaktiviert war.

In diesem Fall hätte ich es noch schneller gefunden, wenn ich den Logger von Ublock all(dh alle Tabs) anstelle eines Tabs eingestellt hätte.

Da Sie Ublock erwähnt haben, aber nicht den Logger, könnte dies von Interesse sein.