9Sep
Non è un segreto che Firefox possa consumare un bel po 'di memoria di sistema durante il normale utilizzo. Mentre il numero di schede che hai aperto e i componenti aggiuntivi installati contribuiscono certamente, anche un'installazione predefinita utilizzata in modo tradizionale può segnalare un bel po 'di utilizzo della memoria.
Ciò ha causato la comparsa di alcuni add-on di Firefox che dichiarano di liberare memoria che il browser non ha più bisogno, ma funzionano effettivamente?
Panoramica di due minuti su come Windows gestisce la memoria
Prima di entrare nell'esame di un pulitore di memoria, è importante capire un po 'come Windows gestisce la memoria. Questo sarà importante in modo che possiamo interpretare i risultati del nostro esperimento.
Non ti preoccupare, lo copriremo ad un livello molto alto in modo da non dover essere un mega-geek da seguire.
Come disclaimer rapido, questo è un sommario estremamente breve delle basi della gestione della memoria di Windows. In nessun modo questo dovrebbe essere considerato autorevole o definitivo in quanto viene spiegato solo al livello applicabile all'argomento di questo articolo.
Windows è abbastanza intelligente da sapere che la memoria fisica inutilizzata è sprecata memoria, quindi carica tutto ciò di cui ha bisogno e pensa che avrà bisogno di memoria. Tuttavia, solo ciò di cui il sistema ha effettivamente bisogno( sia Windows che le applicazioni) e viene utilizzato attivamente al momento corrente viene riportato come memoria fisica utilizzata. Il resto( quello che Windows pensa che avrà bisogno) risiede in quella che viene chiamata memoria virtuale.
La memoria virtuale è essenzialmente i dati che non sono attivamente richiesti dal sistema operativo ma sono pronti per essere caricati nella memoria attiva in qualsiasi momento. Puoi calcolare in modo molto approssimativo la quantità di memoria virtuale del tuo sistema in qualsiasi momento utilizzando questa formula: Memoria virtuale
=( Memoria fisica totale - Memoria fisica utilizzata / attiva) + Dimensione massima file di pagina di sistema
Quindi, supponiamo tu abbia un sistemacon 4 GB di memoria fisica e un file di pagina massimo di 6 GB.Avvia quindi Windows e apri alcune applicazioni( Outlook, Firefox, ecc.) E Windows segnala che vengono utilizzati 2,5 GB di memoria fisica. Ciò significa che hai 1,5 GB di memoria fisica "inutilizzata" e un file di pagina da 6 GB per un totale di 7,5 GB di memoria virtuale disponibile.
Ricorda, il sistema operativo è abbastanza intelligente da sapere che la memoria fisica inutilizzata è sprecata memoria, quindi riempirà il restante 1,5 di memoria fisica con quello che prevede che sarà necessario in modo che possa essere richiamato su richiesta quasi istantaneamente. Questo può essere qualsiasi cosa, dai dati del programma in background minimizzati alle funzioni del sistema operativo comune.
Quindi cosa succede quando Windows esaurisce la memoria fisica da utilizzare come memoria virtuale? Scrive questi dati nel file di paging del sistema che è un enorme file( nel nostro caso da 6 GB) sul tuo disco rigido. Sebbene ciò consenta al sistema operativo di memorizzare praticamente tutti i dati che è necessario conservare in memoria, scrivere e recuperare( ovvero un errore di pagina), queste informazioni da / verso il disco rigido sono di ordine di grandezza più lente dell'accesso dalla memoria fisica. Questo è il motivo per cui più memoria fisica hai, più velocemente il tuo sistema può funzionare. Meno il tuo sistema usa il suo file di pagina, più veloce sarà.
Monitoraggio dell'uso della memoria di Firefox
Per le nostre indagini utilizzeremo semplicemente Task Manager di Windows. Tracciamo le seguenti colonne( le descrizioni sono definite sulla pagina di Microsoft):
- Working Set = Quantità di memoria nel working set privato più la quantità di memoria utilizzata dal processo che può essere condivisa da altri processi. Set di lavoro picco
- = quantità massima di memoria del working set utilizzata dal processo. Memoria
- ( Private Working Set) = Sottoinsieme di working set che descrive in modo specifico la quantità di memoria utilizzata da un processo che non può essere condivisa da altri processi. Dimensione commit
- = quantità di memoria virtuale che è riservata per l'utilizzo da parte di un processo.
Useremo un'installazione immediata di Firefox 4.0.1 con solo il componente aggiuntivo Memory Fox caricato. In Firefox, avremo le seguenti schede aperte e non faremo altro che scorrere su e giù le pagine caricate.
Dopo aver atteso qualche secondo per completare il caricamento, il Task Manager di Windows riporta quanto segue per Firefox.
Ora quando iniziamo l'add-on Memory Fox, osserviamo il drastico calo della quantità di memoria utilizzata.
Inoltre prendi nota che un nuovo processo viene avviato da questo componente aggiuntivo che gestisce le funzioni di memoria.
Lasciando Firefox inattivo e guardando i valori del working set e della memoria, è possibile vedere che c'è una costante lotta tra Firefox che richiede memoria fisica attiva e il componente aggiuntivo per la memoria che recupera questa memoria.
Ecco l'utilizzo della memoria riportato ogni pochi secondi mentre Firefox viene lasciato inattivo.
Notare la caduta nei valori di Working Set e Memory. Questo è il pulitore di memoria che recupera la memoria di sistema.
Dopo essere salito per un po ', puoi vedere un'altra caduta.
Schiuma. Risciacquare. Ripetere.
Inoltre, se non fai altro che cambiare scheda e scorrere su e giù le pagine caricate, puoi vedere i numeri fluttuare un po 'più drasticamente che verrà spiegato di seguito.
Interpretazione dei risultati
Quando lo guardi per la prima volta, penseresti, hey sta funzionando alla grande. Ma dai un'occhiata alla colonna Commit Size e puoi vedere che questo valore non cambia mai veramente. Infatti, si avvia una volta avviato l'add-on di pulizia della memoria.
Ricorda che la colonna Commit Size riporta la quantità effettiva di memoria( fisica + virtuale) di cui Windows ha bisogno per eseguire la rispettiva applicazione. Nel nostro esempio, il ~ 120 MB è riservato e attivo sul sistema specificamente per Firefox e risiede nella memoria fisica inutilizzata e / o nel file di paging del sistema. Inoltre, ricorda che se è necessario utilizzare il file di pagina, l'impatto sulle prestazioni è notevole perché la memoria virtuale deve essere scritta e letta dal disco rigido che è significativamente più lento della memoria fisica.
Quindi essenzialmente il pulitore di memoria sta spostando la memoria fisica attiva nella memoria virtuale( perché la memoria deve essere reclamata da qualche parte).Quando ciò accade, Firefox non ha più la memoria di cui ha bisogno per funzionare attivamente, quindi deve chiedere a Windows di spostare i rispettivi dati necessari dalla memoria virtuale alla memoria fisica. And around and round we go. ..
Nella migliore delle ipotesi, questo processo non fa nulla di utile e nel peggiore dei casi causa una grande quantità di errori di pagina non necessari perché, ancora una volta, se Windows deve mettere in gioco il file della pagina, allora ci sarà uncolpo di prestazione notevole. Questo può essere in particolare il caso di sistemi che non hanno molta memoria fisica( dove praticamente tutta la memoria virtuale è contenuta in un file di paging), il che è ironico perché questi sono i sistemi per i quali è stato "progettato" un dispositivo di pulizia della memoria.
La morale di tutta questa storia è abbastanza semplice, i pulitori di memoria non fanno altro che spostarsi sui numeri. Qualsiasi sistema operativo saprà come gestire la memoria in modo appropriato, quindi lascia che facciano le loro cose.
Gestione dell'uso della memoria di Firefox
Dato che abbiamo dimostrato che i componenti aggiuntivi per la pulizia della memoria non fanno davvero nulla di utile, cosa si può fare per la grande quantità di memoria utilizzata da Firefox? Ecco alcuni suggerimenti:
- Rimuovere i componenti aggiuntivi non necessari( in particolare quelli per la pulizia della memoria).
- Mantieni il numero di schede aperte al minimo.
- Chiude periodicamente Firefox e lo riavvia.
- Aggiungi più memoria al tuo sistema.
- Non preoccuparti.
Memory Fox Next Add-on per Firefox