Perché le pagine Web richiedono così tanta RAM?


25

Dopo aver lasciato un mucchio di pagine aperte in Chrome, il mio computer diventa lento. Task Manager di Windows mostra che alcune pagine richiedono molta RAM:

inserisci qui la descrizione dell'immagine

  1. Perché prendono così tanta RAM?
  2. C'è un modo per sapere quanta RAM impiega ogni pagina, in modo da indagare?

Grazie.


9
Chrome ha anche un proprio task manager . Ed entra chrome://memory-redirect/se ne hai ancora uno.
slhck,

1
Grazie per il consiglio. Risulta che Chrome non utilizza un processo per una scheda / pagina: un processo può puntare a una scheda e moltiplica le pagine Web, quindi non posso dire quale stia utilizzando la quantità di RAM.
OverTheRainbow,

Risposte:


23

Chrome è il consumatore più pesante di RAM nel mercato dei browser. Scambia un maggiore utilizzo della memoria per una maggiore velocità. Se si esaurisce la RAM disponibile, tuttavia, diventa il browser più lento sul mercato (rispetto a uno che sarebbe abbastanza piccolo nell'uso delle risorse da rimanere completamente nella RAM invece di effettuare il paging sul disco rigido.)

Qui il team di sviluppo di Chromium discute degli aspetti positivi e negativi di questo modello di memoria utilizzato in Chrome .

E qui puoi configurare Chrome per utilizzare modelli di memoria alternativi con vari compromessi, tra cui la modalità di processo singolo "stile firefox": http://dev.chromium.org/developers/design-documents/process-models


8
  1. Perché le pagine Web richiedono così tanta RAM?

Chrome utilizza un modello per processo, il che significa che per ogni scheda (o gruppo di schede correlate), utilizza un processo separato anziché un thread separato. Ciò significa sostanzialmente che ogni scheda è un programma in esecuzione separato. In questo modo, se si verifica un arresto anomalo, scendono da soli invece di rimuovere l'intero browser (fa la stessa cosa per i plug e la maggior parte delle estensioni).

Ciò ha i suoi ovvi vantaggi (il sandboxing è il principale), ma ovviamente ha anche degli svantaggi come il fatto che ognuno ha un sovraccarico di memoria, il che significa che Chrome utilizza complessivamente più RAM per lo stesso set di pagine aperte rispetto ai browser che lo fanno non utilizzare un modello per processo (altri browser hanno iniziato a muoversi verso questo metodo da quando Chrome è stato rilasciato).

Come hai notato, la regola per processo non significa necessariamente che ogni scheda ottenga il proprio processo. Dipende da come è stata aperta la pagina. L'uso di Apri in una nuova scheda o Apri in una nuova finestra apre la pagina / collegamento nello stesso processo del genitore, ma Apri in finestra di navigazione in incognito la apre in un nuovo processo, così come la nuova scheda e i nuovi comandi della finestra .

Un altro motivo per cui le pagine occupano molta RAM è che oggigiorno, la maggior parte delle pagine Web include molti JavaScript e Flash che li rendono pesanti sia per la CPU che per la RAM (il che significa anche che i sistemi più vecchi non possono navigare in Internet in modo confortevole, quindi non c'è più ad esempio un "sistema usato, vecchio, ma buono per la navigazione"). Peggio ancora, plugin ed estensioni (e forse anche Chrome stesso) potrebbero perdere memoria dopo un po ', aumentando l'utilizzo della memoria nel tempo.

  1. C'è un modo per sapere quanta RAM impiega ogni pagina, in modo da indagare?

Sfortunatamente non esiste un modo (noto / semplice) per visualizzare l'utilizzo della memoria per pagina. Il modo più vicino è premere Shift+Esco fare clic con il pulsante destro del mouse sulla scheda e selezionare Task Manager per vedere l'utilizzo della memoria per processo.

Una cosa che puoi provare è aprire ogni pagina in un nuovo processo (usando uno dei metodi sopra menzionati) e poi confrontare.


Grazie, stavo per porre la domanda per questa risposta. Non riesco a credere come una semplice pagina Web possa richiedere 300 MB.
Federico Ponzi,

1

Prova chiave, strumenti, strumenti di sviluppo, audit

Molti suggerimenti per migliorare l'efficienza della tua pagina web sono i motivi per cui le pagine web specifiche di altre persone utilizzano risorse eccessive.


Non sto parlando delle mie pagine Web, ma piuttosto delle pagine Web che sto leggendo in rete e finisco per succhiare così tanta RAM che devo aggiungerle ai segnalibri, riavviare Chrome e riaprire le pagine.
OverTheRainbow,
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.