come allungare la vita di un vecchio netbook

Ritorno sul mio vecchio Netbook Acer Aspire One D260, comprato nel lontano 2011. Dopo aver provato con piacevole sorpresa il sistema operativo Zorin OS, mi sono deciso all’ultimo miglioramento hardware fattibile: la sostituzione dell’hard disk con una memoria a stato solido (SSD).
L’operazione lunga vita al mio vecchio netbook è poi continuata con la scelta del browser che meglio si sposa con le limitate prestazioni di questo piccolissimo portatile. Un viaggio tra hardware, reminiscenze di software di base e test che mi ha divertito per alcune serate. Qui racconto com’è andata (racconto lungo, spero non noioso).


Com’è cominciata

Acquistai il pc a una svendita natalizia del MediaWorld nel 2011. Per 199 € (se non ricordo male) mi portai a casa un piccolo e maneggevole pc portatile Windows 7, con un processore Atom N450 a 1.66 GHz, 1 GB di memoria ram e un disco rigido da 160 GB.
L’anno successivo avevo ampliato la memoria, sostituendo il banco da 1 GB con uno da 2 GB, il massimo consentito dal processore montato. Con l’installazione in dual boot di Ubuntu avevo un  gioiellino da portarmi dietro alle riunioni di lavoro fuori sede. Dopo qualche anno avevo anche rimosso Windows 7, ormai divenuto inutile.

Finito un po’ in ombra quando ho lasciato il lavoro, ho ripreso in mano di tanto in tanto il catorcetto (nomignolo affettuoso per il vecchio netbook) per provare qualche distribuzione Linux, man mano che il campo si arricchiva di proposte. Oltre alle varie release di Ubunbtu, è stata la volta di un Linux Mint, di Xubuntu, poi, in tempi più recenti, di Manjaro.

Un nuovo obiettivo per il vecchio netbook

Poco più di un mese fa è stata la volta di Zorin OS. Questa esperienza mi ha convinto a riportare all’utilizzo effettivo il catorcetto, per evitare di tirarmi dietro il Mac nelle periodiche ospitate presso la nipotina milanese.
Certo potrei acquistare un nuovo pc da battaglia, ma non ci sarebbe divertimento. Oltretutto il pc lo vorrei piccolo, ma in vendita scarseggiano le proposte sotto i 14″. E poi mi piange davvero il cuore a buttare l’Aspire One, proprio adesso che ho trovato una distribuzione Linux che è piacevole da utilizzare.
Rimane il fatto che, nonostante l’aver portato la memoria a 2 GB, appena apro 3-4 finestre di browser e lancio un paio di programmi, il catorcetto si siede.

Cos’altro si può aggiornare nel vecchio netbook?

Lato hardware, il processore non si può toccare. Per quanto sia a bassa performance, quello è e quello rimane. Per farsi un’idea, sui notebook di fascia bassa attuale è comune trovare il processore Intel N4020. Bene, ecco come il mio Atom N450 si rapporta al Celeron N4020:

vecchio netbook: processori a confronto

La memoria, come detto, è già al massimo possibile, 2 GBytes. Rimane il disco meccanico, che si può sostituire con un disco allo stato solido (SSD).

Completare i ragionevoli aggiornamenti hardware di un vecchio netbook

Frugando su Amazon, con un budget autoimposto di non più di 25 €, ho trovato un disco SSD da 120 GBytes, diretto rimpiazzo dell’hard disk montato nel mio Aspire One. Le istruzioni per la sostituzione si trovano sul solito YouTube.

Una volta sostituito il disco, occorre ovviamente installare il sistema operativo sul nuovo disco. Il risultato è soddisfacente: il vecchio netbook parte un po’ più velocemente, il lancio delle applicazioni è un po’ più rapido. Certo, per migliorare radicalmente occorrerebbe un nuovo pc :-).

L’esperienza di utilizzo

Un po’ meglio, quindi. Ma come faccio a ottimizzare l’esperienza di utilizzo del mio vecchio netbook?
È necessario intanto definire uno scenario di utilizzo rappresentativo, e poi capire su quali variabili è possibile operare.

Cominciamo dallo scenario, che ho definito così:

  1. il sistema parte con una finestra di esplora file e due finestre di terminale (due perché mi servono per lo strumento di misura che descrivo nel seguito);
  2. apro una finestra di browser su Notion.so (l’applicazione che utilizzo per prendere appunti);
  3. ancora due finestre di browser su repubblica.it e tg24.sky.it;
  4. aggiungo una finestra di browser su youtube (loggato);
  5. apro libreoffice calc con un file vuoto;
  6. edit del file dello script che utilizzo come strumento di misura (vedi dopo);
  7. apro il visualizzatore di immagini su un’immagine;
  8. apro gimp per modificare un’immagine;
  9. lancio l’utility di aggiornamenti software;
  10. chiudo browser, gimp, editor, visualizzatore di immagini, libreoffice calc, aggiornamenti software;
  11. lancio l’applicazione Software (il catalogo delle applicazioni scaricabili sul sistema);
  12. chiudo Software.

Uno scenario ricco, ragionevole a patto di non attendersi la velocità del Mac. Con lo stesso hardware e un sistema operativo Microsoft, invece, sarebbe impensabile.
In effetti, utilizzando come browser il Firefox preinstallato sul sistema, il tutto va in affanno già al punto 4, per divenire estremamente lento al punto 8.

Scegliere il browser più adatto

La richiesta di memoria da parte del browser internet cresce pressoché linearmente con il numero di finestre aperte. Un browser più parco, quindi, può offrire benefici apprezzabili, specie su un vecchio netbook con risorse limitate.

Tra quali proposte si può scegliere? Per poter utilizzare i servizi di Google (Drive, Dcoumenti&co, Colab) viene richiesto uno tra Chrome, Firefox, Edge, Safari, aggiornati almeno alla penultima versione. “Altri browser potrebbero funzionare, ma potresti non essere in grado di utilizzare tutte le funzioni disponibili”.

Purtroppo quelli indicati sono tutti browser o non utilizzabili su Linux o comunque con alto consumo di memoria. Uniche alternative sono i browser disegnati su Chromium, progetto open source di Google. Tra questi, due mi sono sembrati affidabili e leggeri: Opera e Brave.

Rimane da misurare quali vantaggi possono offrire, rispetto a Firefox.

Come funziona la gestione della memoria?

Un pc ha una memoria limitata (es. 2 GBytes) e deve soddisfare le esigenze contemporanee di più applicazioni e del sistema operativo. Per farlo, viene utilizzata un’architettura di memoria virtuale.

Ogni applicazione vede uno spazio di memoria virtuale completamente libero e a propria disposizione, inoltre la memoria fisica e quella virtuale sono viste come un insieme di pagine di dimensione fissa (4 kBytes nel caso di Linux). La prima volta che un’applicazione accede a un indirizzo di memoria, l’hardware del pc associa una pagina fisica libera alla pagina virtuale a cui sta sta accedendo l’applicazione.
Quando poi l’applicazione non avrà più bisogno di quella pagina virtuale, la pagina fisica associata verrà rilasciata e tornerà nuovamente disponibile.

Un difficile equilibrio

D’altra parte il sistema operativo ha bisogno di utilizzare pagine di memoria fisica, sia per il proprio codice e il suo spazio dati, sia per due funzioni essenziali per le prestazioni: buffercache.
I dati in ingresso e in uscita scambiati con le periferiche del pc (rete, disco, tastiera, …) vengono accumulati in buffer, per tener conto della lentezza delle periferiche rispetto alla velocità di elaborazione. Questo permette di liberare la cpu della macchina durante le operazioni di ingresso e uscita.
Sempre per velocizzare l’esecuzione, inoltre, dei dati scritti verso il disco viene conservata in memoria una copia cache, quando ci sia l’eventualità di riutilizzarli più avanti. Questo consente di recuperarli velocemente, evitando di accedere al disco.

La dimensione di memoria assegnata a buffer e cache è gestita dal sistema operativo, che lascia comunque della memoria non utilizzata per rispondere alle esigenze delle applicazioni. Ecco come appare suddivisa la memoria, con il sistema appena acceso e una finestra di terminale aperta, in cui ho lanciato il comando free:

vecchio netbook con Linux: il comando "free"

Le dimensioni sono in KBytes. Quindi a fronte di 2.013.984 KBytes di memoria fisica disponibile (i miei 2 GBytes), ce ne sono 480.620 occupati, 846.720 liberi, 686.644 impegnati come aree di buffer e cache. Le due colonne sharedavailable possono essere ignorate in questa discussione.

L’area di swap

Il comando free restituisce anche una riga Swap.
Al crescere dell’utilizzo di memoria da parte delle applicazioni, il sistema ridurrà lo spazio di memoria fisica lasciato libero e quello dedicato a cache e buffer, almeno fino a che sarà ragionevole farlo.
Poi, per liberare pagine di memoria, ricorrerà allo swap, cioè sposterà su disco il contenuto di pagine di memoria fisica in uso, ma inattive da più tempo. La dimensione massima dell’area di swap è decisa dal sistema operativo e nel mio caso è di circa 2 GBytes. Inizialmente l’area di swap è ovviamente vuota.

Le pagine spostate nell’area di swap rimarranno lì, fino a che non saranno nuovamente accedute.
Un indice dello stress raggiunto dal sistema è anche dato, quindi, sia dalla dimensione di swap utilizzata, sia dal numero di pagine spostate in entrambe le direzioni. Se, infatti, il sistema comincia a spostare pagine in swap per far spazio a pagine di riportare in memoria, la velocità del sistema rallenta vistosamente.

Rivitalizzare un vecchio netbook: uno strumento casalingo per tracciare l’utilizzo di memoria

Il mio obiettivo è quindi misurare l’utilizzo di memoria, a fronte dei tre diversi browser detti (Firefox, Opera, Brave), sotto un unico profilo di utilizzo.
Per farlo avrei potuto utilizzare uno degli strumenti nativi di Linux, ad esempio il sar. Ho preferito invece scrivere un semplice script che riporta su un file csv la quantità di memoria in uso, la quantità di swap in uso e il numero di pagine swappate verso il disco e dal disco. Effettuando una lettura ogni 5 secondi, o su richiesta prima di effettuare un’azione che altera il carico di sistema,  si può poi analizzare in excel come viene stressato il sistema nei diversi scenari.

Lo script può essere scaricato da qui. Da rimarcare alcuni dettagli:

  • si può lanciare lo script in modalità automatica (con una misura ogni 5 secondi, fino a che non si ferma lo script stesso) oppure in modalità manuale (una sola misura, inserendo da tastiera una descrizione dell’azione che sta per essere lanciata);
  • si può lanciare lo script chiedendogli di stampare anche l’intestazione del file csv oppure di stampare solo i dati di misura.

Come utilizzare lo script

La sequenza da utilizzare è quindi:

  1. in una finestra di terminale digito ./stats.sh -h (una sola misura, stampando prima l’intestazione);
  2. a seguire digito ./stats.sh -a (da adesso in poi una misura automatica ogni 5 secondi);
  3. in una seconda finestra di terminale digito ./stats.sh prima di ogni azione (per ottenere una misura puntuale in quell’istante).

Nelle misure raccolte c’è un discreto margine di imprecisione, perché le varie azioni vengono controllate manualmente, senza però molto togliere alla validità dell’analisi.

I dati raccolti

Ecco come lanciare lo script:

script in esecuzione

Ed ecco come si vedono in LibreOffice Calc i dati raccolti:

Da notare che lo script genera anche la colonna event, che è popolata solo nel caso di misura effettuata manualmente. Quindi nel grafico Excel sarà possibile visualizzarne solo i punti popolati, che corrispondono alle variazioni di carico indotte.

I tre browser a confronto

Di seguito il grafico dell’andamento del carico di memoria nei tre scenari: Firefox, Opera, Brave. Gli asterischi indicano il momento delle varie azioni, come da lista definita in precedenza.

Firefox

vecchio netbook: caso del browser Firefox

Il quinto marker, intorno ai 6 minuti di esecuzione, corrisponde all’avvio di LibreOffice Calc. Si vede che a questo punto parte con decisione lo swap: con una memoria occupata di 1.4 GBytes, il sistema non ha più margini per bilanciare le varie esigenze, e comincia a portare su disco le pagine di memoria non utilizzate da più tempo.
La discesa di occupazione nel minuto 17 è relativa alla chiusura delle applicazioni aperte. Immediatamente dopo si nota un ritorno significativo di pagine dallo swap alla memoria fisica (pswpin = page swap in, linea gialla).
In questa configurazione il vecchio netbook mostra tutti i suoi limiti.

Opera

vecchio netbook: caso del browser Opera

Con Opera le cose vanno decisamente meglio. L’occupazione rimane sotto 1.2 GBytes e anche il tempo speso nel controllo degli aggiornamenti (marker 9 al 10) è molto più breve rispetto al caso Firefox. L’occupazione dell’area di swap rimane contenuta e anche l’esperienza di utilizzo è molto più gradevole.

Brave

vecchio netbook: caso del browser Brave

Andamento molto simile al caso Opera, forse un pizzico di velocità in meno. Anche in questo caso non si notano ritorni significativi di pagine dallo swap alla memoria fisica.

Carico in assenza di browser

Si può avere una conferma dell’effetto browser sull’utilizzo di memoria eseguendo una sequenza di test ridotta, senza browser:

  1. inizio, con 2 terminali e 1 file manager;
  2. LibreOffice calc su file vuoto;
  3. edit file (script);
  4. visualizzatore di immagini su immagine;
  5. Gimp su immagine;
  6. aggiornamenti software;
  7. chiudi editor, visualizzatore di immagini, gimp, libreoffice calc;
  8. lancia Software;
  9. chiudi Software.

Ecco il grafico:

La crescita di utilizzo della memoria che continua dopo la chiusura del gestore di pacchetto Software è dovuta ad aggiornamenti in corso, scatenati proprio dall’apertura di Software.
L’utilizzo dell’area di swap rimane trascurabile, almeno per i primi 7 step della sequenza.


Opera o Brave? Quale alternativa a Firefox

Dai test effettuati appare evidente che 2 GBytes di memoria sono proprio pochi per un pc, bisognerebbe partire almeno da 4 GBytes. Ciò premesso, se occorre ottimizzare l’utilizzo di memoria, Opera e Brave si comportano in maniera molto simile (e migliore di Firefox).
Ci sono però altri aspetti da considerare.

  • Regolarità di aggiornamento del browser: su questo punto i due browser sono allineati alla velocità di Chrome.
  • Rispetto della privacy e sicurezza: un punto a favore di Brave (open source), mentre Opera è un codice proprietario (non si può verificare esattamente quali informazioni di navigazione tracci). Qualche perplessità può derivare anche dal fatto che la società Opera è norvegese ma ha dei fondi di investimento cinesi nel board.
  • Funzionalità: un punto a favore di Brave, che integra il decoder H.264 e consente di fruire senza problemi dei video più diffusi (es.: i video del sito tg24.sky.it). Opera non ha questa funzionalità.
  • Velocità: punto (soggettivo) a favore di Brave, perché la fruizione dei video di YouTube mi sembra un pizzico più fluida di quanto avvenga con Opera.

Alla fine ho scelto Brave. Tra sistema operativo, browser e disco SSD, il mio vecchio netbook è risorto a nuova vita. Più o meno.

Scritto da:

Pasquale

Mi chiamo Pasquale Petrosino, radici campane, da alcuni anni sulle rive del lago di Lecco, dopo aver lungamente vissuto a Ivrea.
Ho attraversato 40 anni di tecnologia informatica, da quando progettavo hardware maneggiando i primi microprocessori, la memoria si misurava in kByte, e Ethernet era una novità fresca fresca, fino alla comparsa ed esplosione di Internet.
Tre passioni: la Tecnologia, la Matematica per diletto e le mie tre donne: la piccola Luna, Orsella e Valentina.
Potete contattarmi scrivendo a: p.petrosino@inchiostrovirtuale.it