Determinare quale scheda in Firefox utilizza le risorse della CPU?


274

C'è qualcosa nell'attuale Firefox simile al Task Manager in Google Chrome? ( Shift+ Esc)

C'è qualcosa che a volte occupa abbastanza CPU per non rispondere a Firefox - ma con più finestre, ognuna con una dozzina di schede aperte, ci vorrà del tempo per tentativi ed errori.


1
No, non c'è modo di farlo nativamente. Non invierò una risposta perché potrebbe esserci qualche soluzione di terze parti.
Sasha Chedygov,

Ho trovato questo tramite Google, è un plugin. addons.mozilla.org/en-US/firefox/addon/bartab ... Rende così (presumibilmente) la scheda non utilizza le risorse fino a quando non fai clic su di essa e la stai visualizzando attivamente. Dai commenti degli utenti potrebbe non funzionare esattamente come pubblicizzato, e apparentemente in firefox4 questo è un comportamento nativo senza il plugin. Personalmente proverei ff4 se non lo sei già.
CreeDorofl,

1
Firefox non utilizza processi separati per ciascuna scheda e plugin come Chrome, quindi non ha motivo di avere un task manager come Chrome.
Synetech,

@chris: Ah giusto, sono passati a un modello di rilascio più veloce da qualche parte quest'anno ...
Tamara Wijsman,

1
Cinque anni e nulla di simile è mai stato fornito da Firefox. Gli utenti interessati a disporre di tale funzionalità sono incoraggiati a sostenere questa richiesta di funzionalità .
Luís de Sousa,

Risposte:


292

L'utilizzo delle risorse può essere monitorato tramite la about:performancepagina che va Task Managerda Firefox 64. Ha subito una profonda revisione e ora offre una visione molto più dettagliata delle prestazioni di schede e componenti aggiuntivi.

Task Manager


7
Bello. Tuttavia, ho un processo "Contenuto Web" della CPU al 100% che non compare qui.
Matthias Urlichs,

42

about:memorymostra i dettagli sull'utilizzo della memoria di Firefox. C'è anche un pulsante su quella pagina che ti consente di ridurre al minimo l'utilizzo della memoria.


13
Ovviamente non è lo stesso dell'uso della CPU, ma nella mia esperienza sono spesso correlati. Dopo aver ucciso la scheda di memoria più grande, l'utilizzo della CPU e il rallentamento spesso diminuiscono notevolmente.
peterflynn,

13
Obviously it’s not the same as CPU usage, but in my experience they're very often correlated. @ytpete, allora frequenti un ristretto sottoinsieme di pagine web perché non c'è assolutamente alcun motivo per cui sarebbero necessariamente collegate. È abbastanza semplice avere una pagina Web da 1 KB con JavaScript con un ciclo infinito e quindi un carico della CPU del 100% e un'altra con 100 MB di immagini che non utilizzano CPU.
Synetech,

9
about:memory shows Firefox's memory usage details. There's also a button on that page that allows you to minimize memory usage. Quella pagina contiene informazioni sul caricamento della CPU? In caso contrario, cosa c'entra questo con la domanda posta? Questa "risposta" dovrebbe essere un commento, non una risposta.
Synetech,

3
@Synetech Sono passati molti anni da quando un semplice ciclo infinito JS farebbe molto: Firefox e la maggior parte degli altri browser emettono un messaggio di "script non rispondente" dopo pochi secondi, quindi il ciclo viene interrotto.
Peterflynn,

6
Questo ha funzionato alla grande per me. Mentre è vero che un piccolo ciclo Javascript può colpire la CPU senza usare la memoria, non è quello che fanno la maggior parte degli script delle pagine Web: stanno effettuando chiamate remote, aggiornando e manipolando il DOM, invocando plug-in (come Flash), ecc. Tutte queste cose possono comportare un maggiore utilizzo della memoria (soprattutto se la pagina perde lentamente oggetti). Ho trovato la scheda colpevole, l'ho chiusa, ho usato il pulsante Riduci memoria e Firefox funzionava senza problemi. Grazie ancora!
Nick,

11

Il primo probabile colpevole è Flash. Kill Flash - ora.

Quindi potrebbe essere un codice Javascript canaglia. L' estensione Javascript Deobfuscator di Firefox ti consente di vedere il conteggio delle chiamate alle funzioni Javascript:

Non è una misura dell'utilizzo della CPU, ma un proxy abbastanza vicino: trova la funzione con un numero di chiamate runway e avrai probabilmente catturato il colpevole.


1
Non ho Flash installato e NoScript installato. Questo succede ancora su OSX anche se ho due CPU con 8 core e 32 GB di RAM
chaostheory


4

Usando Flashblock e Nevercrash , ora sostituiti con FlashStopper e UnloadTab, puoi fare molto per bloccare Flash o schede, evitando sprechi di CPU invece di rintracciarlo. Questo vale, ma anche per la memoria. Flash, ad esempio Youtube non può avviarsi fino a quando non fai clic su di essi, quindi puoi avviarli in diverse schede e attendono che tu apra le schede. Le schede vengono caricate dalla memoria e inattive fino a quando non vengono riaperte e vengono aggiornate dalla cache (se ancora disponibili).
La chiusura di Internet per un po 'funziona anche quando non ne hai bisogno ;-)
Firefox frammenta la memoria virtuale così tanto che utilizza una quantità eccessiva di memoria reale (c'è troppa memoria virtuale inutilizzata nella memoria reale). È necessario arrestare e riavviare periodicamente Firefox con le stesse pagine. Ciò deframmenterà la sua memoria e l'intero sistema funzionerà più velocemente riducendo lo scambio.
Sul mio sistema Ubuntu, l'utilizzo della memoria reale sale lentamente fino al 98%. Quindi è il momento di arrestare Firefox e riavviarlo: utilizzerà quindi meno di 1 MB di memoria reale anziché 3 MB. Lo stesso vale per Thunderbird ..


Potresti anche avere successo usando i pulsanti di pulizia della memoria in about:memory. Non so se funzioneranno così come riavviare Firefox. Mi piacerebbe vedere alcune ricerche su questo.
joeytwiddle,

Grazie. Fatto prima, fatto di nuovo, e l'utilizzo della memoria reale rimane al 92% quando si fa clic su qualsiasi. <br/> Riguardo a Flashblock e Nevercrash di quanto ho già detto, sono diventati incompatibili con Firefox 34. A "hai aggiornato alla versione più recente?" problema eterno. L'onda è ora Flashstopper e UnloadTab. Piuttosto compatibile ma UnloadTab ora scarica le schede in modo non sorprendente, non ha bisogno di "scaricamento di schede" esplicito (fine) e "ricaricare schede" funge da aggiornamento della pagina (meno fine, ma usando la cache). È possibile impostare "Mantieni indirizzo caricato" quando il ricaricamento interrompe uno stato di pagina che si desidera conservare.
Papou,

Grazie per il test. :) <plug> Uso il mio script Hibernate Idle Tabs con Greasemonkey. Passa a una pagina di conservazione leggera dopo che la scheda non è stata utilizzata per alcune ore. L'ibernazione può essere forzata con il suo bookmarklet .
joeytwiddle,

4

Ad eccezione di quanto già menzionato about:performance, esiste un componente aggiuntivo Task Manager che voleva essere un clone del Task Manager di Chrome.

inserisci qui la descrizione dell'immagine


5
Sfortunatamente non è ancora compatibile con Firefox 57.0+
Ed Randall,

3

La seguente risposta a un'altra domanda può aiutarti. La risposta è scritta dall'utente "accolade".

XUL Profiler è una fantastica estensione in grado di evidenziare le estensioni e le banane JS lato client andate a livello di CPU. Non funziona su una base per scheda, ma per script (o giù di lì). Normalmente puoi collegare manualmente quegli script .js alle tue schede o estensioni.

Vale anche la pena ricordare che Google Chrome ha incorporato un ottimo task manager che offre memoria e utilizzo della CPU per scheda, estensione e plug-in.

Vorrei aggiungere qualche informazione in più alla risposta del riconoscimento. A partire da gennaio 2012, l'ultima versione di XUL Profiler è 1.0.4, rilasciata a dicembre 2008. È certificata compatibile solo con Firefox 2.0 - 3.6. *. Quindi ha chiaramente bisogno di un nuovo manutentore.

Mi chiedo se c'è un modo per forzare l'estensione a funzionare su versioni più recenti di Firefox.

Inoltre, mi chiedo se funziona bene per il downgrade temporaneo di Firefox al fine di utilizzare XUL Profiler con le schede esistenti su una versione di Firefox compatibile certificata.


1

Qui circa il 20% della CPU non è stato rappresentato da circa: prestazioni .

Disattivando la casella di controllo "Abilita debug aggiuntivo" in about: il debug si è sbarazzato di questo ulteriore utilizzo della CPU.

about: debug casella di controllo "Abilita debug componente aggiuntivo" nel contesto

È inoltre possibile disattivare questo debug del componente aggiuntivo in about: config . Impostare devtools.chrome.enabled o devtools.debugger.remote-enabled - o entrambi - su off.

Per maggiori informazioni su: debug - Strumenti per sviluppatori Firefox | MDN


0

Hai Flashblock o NoScript installato? Soprattutto se no, proverei prima a esaminare le schede pesanti del flash. Ho anche visto un sacco di schede eBay interrompere Mac Firefox, anche se un po 'di tempo fa (quando stavo effettivamente usando eBay).


Sì a entrambi, così come ad-block plus. Ma c'è ancora qualcosa che utilizza periodicamente CPU.
chris,

Quindi il mio prossimo pensiero sarebbero i siti pesanti di JavaScript che permetti attraverso NoScript.
farfromhome

2
Questo avrebbe dovuto essere davvero un commento in quanto ovviamente richiede chiarimenti dal PO.
Burgi,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.