Non ne abbiamo parlato qui su LFFL ma nelle scorse settimane è emerso un (grosso) problema che affligge GNOME Shell. Si tratta di un memory leak che si verifica su diverse distro Linux.
Cos’è un mem leak? Un memory leak è un particolare tipo di consumo non voluto di memoria dovuto alla mancata deallocazione dalla stessa. Per i neofiti: supponiamo che un processo utilizzi 100 MB di RAM, se terminate le operazioni gli sviluppatori del software non vanno a liberare (deallocare) tali 100MB essi restano occupati e vanno di fatto persi perchè nessun altro processo potrà accedervi almeno fino al riavvio del sistema. Se tutti i processi fossero soggetti a memory leak la memoria di sistema si saturerebbe rendendo la macchina inutilizzabile.
Cosa accade con GNOME Shell? Diverse persone sui forum lamentavano una crescita ingiustificata del consumo di memoria da parte di GNOME Shell. Cito alcuni esempi:
- Circa 70MB consumati allo start-up;
- ~95MB dopo averlo usato per qualche minuto;
- ~250MB dopo aver aperto l’icon grid (con ~90 icone);
Insomma il consumo della memoria cresce continuamente e in maniera insensata come potete osservare nel video qui sotto. Il leak è presente anche in GNOME 3.28 oltre che in GNOME 3.26.
GNOME Shell: scovato il memory leak
Grazie ai numerosi report degli utenti gli sviluppatori di GNOME hanno riconosciuto il problema e passato le ultime settimane alla ricerca della causa che pare essere stata identificata.
Lo sviluppatore Georges Basile Stavracas ha pubblicato un’overview dettagliata dei test che ha condotto ed è emerso che il problema riguarda il Garbage Collector.
Garbage Collection?!
Alcuni linguaggi di programmazione non prevedono un esplicito intervento del programmatore per provvedere alla “pulizia” della memoria. Infatti, tale compito è svolto automaticamente da una speciale routine di sistema, il Garbage Collector, che si occupa di ricercare nell’heap gli oggetti non più referenziati, recuperando la memoria che essi occupavano.
Secondo Stavracas il Garbage Collector non va a svuotare tutta la memoria ma solo quella di alcuni processi e stanno indagando per capire il motivo.
Il fix non è ancora stato rilasciato
Se fino a qualche giorno fa gli sviluppatori di GNOME navigavano senza la bussola (e gli utenti di KDE ridevano sui forum nelle classiche fan-war) adesso sanno dove andare a mettere le mani e questo è già un grosso passo avanti.
Il bug è classificato come “critico” e ad “alta priorità” nel bug tracker di Ubuntu 17.10 e 18.04. Ad oggi non si sa se i devs saranno in grado di risolvere il problema prima dell’arrivo di Bionic Beaver. Vi terremo aggiornati.
Vi ricordiamo che seguirci è molto semplice: tramite la pagina Facebook ufficiale, tramite il nostro canale notizie Telegram e la nostra pagina Google Plus. Da oggi, poi, è possibile seguire il nostro canale ufficiale Telegram dedicato ad Offerte e Promo!
Qui potrete trovare le varie notizie da noi riportate sul blog. È possibile, inoltre, commentare, condividere e creare spunti di discussione inerenti l’argomento.