Il browser Google Chrome, fin dalla sua introduzione, si è sempre focalizzato sulla velocità di navigazione e sullo sfruttamento delle risorse messe a disposizione dall’hardware. Ciò è ottenuto grazie a una struttura multi-processo e multi-thread. Proprio questa sua caratteristica rende inevitabile la parziale duplicazione dei dati da elaborare, in modo che ogni processo possa rimanere del tutto indipendente dagli altri. L’approccio è ottimale ma può creare problemi quando si devono gestire molti processi ognuno dei quali richiede grandi quantità di memoria.
Purtroppo questo caso di coloro che sono appassionati di fotografia e frequentano siti dedicati: ognuna delle schede di navigazione contiene al suo interno immagini ad altissima risoluzione che devono essere in formato bitmap (quindi non compresso) in maniera da mantenere i dati fruibili per le operazioni di scrolling e panning della pagina web. Come ben sanno gli appassionati di fotografia, con le immagini ad alta risoluzione ed elevata profondità colore è molto facile saturare la memoria anche dei computer con le più generose dotazioni hardware. Nonostante questa premessa, che lascerebbe poche speranze, esistono comunque delle procedure che possono almeno mitigare il problema. La più ovvia consiste nello spostare la partizione di swap su un dispositivo che garantisca una larghezza di banda tale da ridurre l’impatto di ogni eventuale utilizzo della memoria virtuale. È quindi consigliabile posizionare questa partizione su una unità SSD, se possibile, dotata di interfaccia PCI Express x4.
Per quanto riguarda la configurazione di Chrome, si può disabilitare la funzionalità Site Isolation e così facendo si ottiene una riduzione complessiva dell’impronta di memoria del browser. Questa funzione è nata per garantire la massima sicurezza dopo la scoperta delle vulnerabilità della famiglia Spectre ma, se si naviga solo in siti ufficiali, è possibile farne a meno senza correre troppi rischi. Entrate quindi nella sezione delle impostazioni con Chrome://flags, cercare le opzioni relative alla Site Isolation e disabilitatele. Chiudete e riaprire il browser, così facendo l’utilizzo della memoria dovrebbe ridursi senza altri accorgimenti di almeno il 10%. Se le varie schede sono lasciate inutilizzate per lunghi periodi, un metodo per garantire una migliore fruibilità del sito consiste nell’abilitare la funzione Freeze and discard.
Questa funzione consente al browser di eliminare temporaneamente dalla RAM le schede che rimangono inattive, lasciando tutta la memoria a disposizione di quelle che si stanno consultando in quel momento. Come è inevitabile, questa maggiore efficienza sarà pagata nel momento in cui si tornerà a una delle schede inattive, il cui contenuto dovrà essere ricreato in maniera pressoché integrale. Anche questa opzione deve essere valutata in base all’utilizzo che si fa del computer. È comunque possibile attivarla entrando nella sezione Flags e cercando proactive-tab-freeze-and-discard. Allo stesso modo l’opzione enable-lazy-image-loading ritarda il caricamento delle immagini fino a quando queste non en trano effettivamente nell’area di schermo visualizzata dal browser. Anche questa funzione può avere effetti positivi o essere del tutto inefficace a seconda del tipo di pagina web visitata di volta in volta.
Un’altra opzione per ottenere una riduzione di memoria consiste nel limitare il numero dei processi di rendering. Questo scopo può essere ottenuto, ad esempio, lanciando il browser con la linea di comando aggiuntiva –renderer-process-limit=2. Il suo effetto deve essere verificato di volta in volta perché l’eventuale riduzione dipende da come è strutturato il sito che si intende visitare. In alcuni siti si suggerisce di risolvere il problema con l’opzione –enable-low-end-device-mode. Questa impostazione è stata creata per fare fronte alle necessità dei dispositivi Android dotati di limitate risorse hardware ma ha come conseguenza la riduzione della profondità colore a 16-bit (massimo 65.536 colori) ed è quindi sconsigliabile per coloro che hanno la necessità di valutare le immagini fotografiche nella massima qualità disponibile.
Come ultima possibilità si può tentare con l’opzione –single-process che, nonostante sia nota per causare problemi di stabilità e di prestazioni, sicuramente elimina ogni duplicazione di dati da parte del browser. Concludiamo proponendo anche un tutorial relativo all’utilizzo di Cgroup Tools che consente di configurare l’utilizzo della memoria da parte delle applicazioni (e quindi anche del browser Chrome) in modo da impedire che una di esse si appropri di tutte le risorse disponibili.