L’architettura multiprocesso sulla quale si basa Chrome e l’impiego di un solido meccanismo di sandboxing contribuiscono ad aumentare l’occupazione complessivo della memoria RAM da parte del browser di Google.
Basti pensare che solo l’attivazione della funzionalità Strict Site Isolation introdotta in Chrome 67 e recentemente portata in versione alleggerita anche su Android rafforza “il muro” costruito attorno a ciascun sito web aperto in ogni scheda di navigazione evitando che eventuale codice malevolo possa interagire con le altre pagine, i form di login e sottrarre dati personali. Lo scotto però si paga in termini di impegno della memoria RAM, quantificabile in un 10-20% in più.
Mantenere tante schede contemporaneamente aperte in Chrome può portare a un consumo della memoria RAM davvero importante. Lo si può verificare premendo la combinazione di tasti CTRL+MAIUSC+ESC
per aprire il Task Manager di Windows. Portandosi nella scheda Dettagli, si troveranno molteplici istanze del processo chrome.exe
simultaneamente in esecuzione.
Premendo la combinazione di tasti MAIUSC+ESC
da una qualunque scheda aperta in Chrome, quindi selezionando l’intestazione Footprint di memoria, si può stabilire quali schede stanno occupando più memoria RAM.
Con l’accelerazione hardware attiva (risulta abilitata per default in Chrome), il processo GPU svolgerà una parte del lavoro nella gestione delle schede aperte ma la simultanea apertura di tante tab farà salire alle stelle il consumo di memoria RAM tanto che anche i sistemi meglio equipaggiati potrebbero risentirne. Non solo Chrome lento, dunque, ma l’intero sistema: vedere Memoria RAM, come sceglierla e quando estenderla.
Come abbiamo anticipato nell’articolo Chrome prova a ridurre l’impatto delle schede aperte in termini di occupazione di memoria RAM, a breve il browser di Google introdurrà il meccanismo tab freezing che però, “sotto il cofano”, esiste già.
Provate a digitare chrome://discards
nella barra degli indirizzi: il browser restituirà l’elenco delle schede aperte indicando, per ciascuna di esse, il loro stato. Nella configurazione di default, all’interno della colonna Lifecycle State, si leggerà active oppure hidden.
Cliccando però su Freeze o Discard/Urgent discard nell’ultima colonna, il contenuto della scheda corrispondente sarà congelato oppure rimosso completamente dalla memoria. La differenza sta nel fatto che nel primo caso i contenuti caricati dalla scheda non potranno più compiere alcuna operazione in background (si pensi alla riproduzione di un video: essa si interromperà momentaneamente) ma l’occupazione in memoria RAM rimarrà invariata. Usando Discard, invece, tutti i contenuti caricati dalla singola scheda saranno temporaneamente rimossi dalla memoria RAM rendendola nuovamente disponibile per tutte le altre operazioni.
Se è vero quindi che le prossime versioni di Chrome permetteranno di congelare l’utilizzo della RAM da parte delle singole schede in maniera del tutto automatica, al momento resta esclusa la possibilità di una gestione automatizzata del caricamento in RAM di ciascuna scheda.
Periodicamente è opportuno accedere alla pagina chrome://extensions
e rimuovere le estensioni di Chrome che non si utilizzano più.