Di quanta RAM ha davvero bisogno il tuo smartphone nel 2019?

Federico83

NeoPapàMod
STAFF
Iscritto dal
28 Ottobre 2018
Messaggi
725
#1
In tutti i mercati compreso quello dell'elettronica le speculazioni sono un argomento inevitabile, esempio:
l'azienda A ha rilasciato il device X con 24 core e 12 gb di ram, in tutta risposta l'azienda B ha rilasciato il prodotto Y con 32 core e 24 gb di ram, ne consegue che l'azienda A rilascia un nuovo prodotto più performante di B e così inizia una guerra alle specifiche.

I produttori di smartphone android non sono immuni a questa rincorsa alle specifiche, e negli ultimi anni abbiamo assistito ad un aumento delle capacità di calcolo delle cpu, aumento esponenziale della qualità delle fotocamere e un aumento della capacità della memoria interna per l'archiviazione delle nostre foto o video, tutte queste nuove specifiche ovvero cpu più performanti fotocamere di buona qualità sono in stra grande maggioranza richieste dal consumatore finale. Tuttavia si pensa che la guerra alla Ram stia diventando ridicola.

Agli albori gli smartphone Android, avevano a disposizione circa 512MB di Ram o forse anche 1GB.
Questi sono stati i primi passi nella rivoluzione degli smartphone.
Con il passare del tempo è stata aggiunta altra memoria.
Nel 2014, la maggior parte dei dispositivi di fascia alta avevano almeno 3GB di RAM e durante il biennio 2016/2017 siamo arrivati a 4GB ed è diventato il minimo indispensabile anche tra i dispositivi di fascia medio\bassa.
Poi sono iniziate le guerre delle specifiche. Prima sono arrivati i dispositivi con 6GB, poi 8GB, poi 10GB, poi 12GB - dove arriveranno?


Con la RAM che sembra aumentare di trimestre in trimestre, dobbiamo fermarci e a riflettere e chiederci di quanta RAM abbiamo effettivamente bisogno.
In casa ho vari computer con win 10 che vanno dai 4 a 16gb di ram e sono tutti in grado di eseguire anche le applicazioni più impegnative, ci stanno forse suggerendo che uno smartphone per funzionare ha più bisogno della ram installata nei nostri computer?
A questo punto, forse ti stai già dicendo: "So di quanta RAM ha bisogno uno smartphone, sono X Gigabyte". Forse hai ragione, ma probabilmente non sei convinto di questa affermazione.
Mettendo da una parte la soggettività e le nostro opinioni, diamo uno sguardo più obbiettivo verso la Ram necessaria.
Iniziamo prima di tutto con uno sguardo su come Android gestisce le memoria RAM.

Gestione della RAM

Quando si lancia una nuova applicazione su Android, il kernel Linux crea un nuovo processo. Un processo è un'unità di esecuzione con il proprio spazio di indirizzo virtuale (che viene mappato su memoria fisica). Il kernel Linux gestisce le risorse necessarie al processo, inclusi il tempo di esecuzione sulla CPU, l'ingresso e l'uscita dei dati (in rete o tramite il filesystem) e la memoria fisica (RAM).

Quando c'è abbondanza di risorse il lavoro del kernel è facilitato.
Se il processo richiede più CPU e la CPU è inattiva, il kernel può facilmente garantire al processo più tempo per l'esecuzione del processo.
Se c'è poco I/O, dare al processo più I/O non è un problema.
Se il processo ha bisogno di più RAM e la RAM è disponibile, il kernel deve solo tenere traccia di quale processo sta usando quali bit di memoria.

Tuttavia, quando le risorse sono poche, le cose si complicano. Con il lavoro di CPU e I/O, la maggiore vittima di sovraccarico sono la performance e l'esperienza d'suo del device. Se la CPU è occupata, il processo continuerà fino a che non sarà terminato, ma non sarà poi così veloce nell'esecuzione del processo. Discorso differente per la ram, se la ram è satura, attenderete la risposta più a lungo ma probabilmente è già vincolata ad altri processi e quindi non sarà rilasciata, ed è qui che deve intervenire il sistema a livello kernel per recuperare Ram, magari ibernare le app che la stanno trattenendo e liberare le risorse che così tornano a nostra disposizione..

Linux e Android gestiscono la cosa in due modi.
Prima di tutto, c'è l'idea di swapping usando zRAM. Android può allocare una parte della memoria fisica per lo swapping.
Lo swaping viene utilizzato per liberare memoria RAM: il sistema operativo ne salva sul disco una porzione della memoria allocata, che quindi può essere liberata e riallocata per i programm o processi che ne hanno bisogno.
Se la memoria scambiata è necessaria in un secondo momento, i dati salvati verrano letti dal disco e rimessi in memoria (swap-in), dove possono essere riutilizzati.
Android comprime la memoria e la riscrive , ma nella sezione riservata a zRAM. Se si pensa ad un rapporto di compressione del 50%, 128KB di RAM pussono ridursi a 64KB, liberando di fatto 64KB, il quale si traduce in swap-out sul disco, in oltre la memoria compressa non è leggibile e quindi se è necessario dovrà essere decompressa per essere nuovamente fruibile, stesso processo dello swap-in.
Quando un processo richiede più RAM e RAM non è disponibile, il kernel cercherà di liberare un po' di RAM usando lo swapping. Se non è possibile trovare RAM a sufficienza, il kernel diventerà più aggressivo e avvierà un processo di eliminazione. Questa è una situazione strana per il kernel. Deve uccidere un processo esistente, per fare spazio ad un altro processo. La chiave qui è che la richiesta di memoria proviene probabilmente dall'applicazione in primo piano, che è attualmente in uso. Il kernel esegue vari test e controlli e determina quali processi possono essere eliminati nella memoria

facciamo un esempio pratico:
Se il giochino Candy Crush è stato avviato tre giorni fa e poi è stato lasciato inattivo, e non lo abbiamo più riaperto, allora il kernel può decidere di killare l'app e liberare ulteriore spazio, questo processo fa si che si liberi memoria e permette alle altre applicazioni di poter essere fruibili e di usare la Ram che altrimenti sarebbe rimasta vincolata al giochino.

Tutto questo è gestito dal driver Low Memory Killer del kernel. È interessante notare che le future versioni di Android gestiranno la cosa in modo leggermente differente. Anche se il risultato sarà simile non sarà il low memory killer a fare il lavoro sporco. A partire dal kernel 4.12 il driver Low Memory Killer è stato rimosso ed è stato rimpiazzato dal "Low Memory Killer Deamon" (lmkm) che è il responsabile della chiusura forzata delle app in background.
Questo significa che quando si avvia una nuova applicazione, le vecchie applicazioni in memoria vengono chiuse per far posto alle nuove. Se si passa di nuovo a queste applicazioni, utilizzando la schermata delle applicazioni recenti, le applicazioni verranno ricaricate, in modo simile a un primo avvio.
Anche se questo sistema può sembrare brutale, è il modo in cui è stato progettato Android. Tutte le app vengono avvertite che saranno uccise e si muoveranno attraverso diversi stati permettendo loro di salvare le informazioni sul loro stato attuale.
Quando vengono ricaricate, le applicazioni leggono le ultime informazioni sullo stato e continuano da dove sono state interrotte.

Quanta memoria usano le app?
se Low Memory Killer Deamon si attiva di frequente, ne deriva una non buona esperienza d'uso del dispositivo.
Nella peggiore delle ipotesi ogni volta che si passa da un'applicazione ad un'altra, l'applicazione precedente viene killata per far spazio alla nuova applicazione. Questa è una grave condizione di scarsa memoria.
TIn ogni caso, c'è una buona via di mezzo accettabile in cui l'applicazione residente occasionalmente viene rimossa per far posto alle nuove applicazioni. Finché l'applicazione rimossa non sarà considerata "vecchia", l'utente probabilmente non si accorgerà nemmeno che è stata rimossa dalla memoria. Dopodiché la frequenza di rimozione diventerà una routine, e non ci saranno cambiamenti percettibili nell'esperienza d'uso del device.
1549109194697.png
Naturalmente, il vostro smartphone avrà bisogno di più RAM per eseguire più applicazioni contemporaneamente. Tuttavia c'è di più nell'immagine, la quantità di RAM utilizzata dal sistema operativo Android e la quantità accantonata da SWAP può lasciare meno spazio per l'esecuzione delle nuove applicazioni lanciate.

Infine, ci sono le "enormi" app, prevalentemente giochi di fascia alta che possono essere definiti mangia RAM come un affamato Pac-Man. Giochi come Need for Speed: No Limits o PUBG Mobile possono utilizzare tra 800MB e 1152MB. Chrome è anche in questa categoria (con appena 3 schede aperte).
La quantità di RAM utilizzata sul tuo dispositivo dipende interamente da quali applicazioni hai in esecuzione. Se ti piace Instagram e Candy Crush, ma non molto altro, allora userai poco più di 1GB di RAM. Se si passa da PUBG e Asphalt 9 per tutto il giorno, saranno necessari 2GB, e così via.

Di quanta Ram necessito?
Ogni smartphone Android è dotato di una quantità fissa di RAM. Fa parte della scheda madre del telefono e non è aggiornabile.
Il pixel 3 ha 4GB, il Note 9 (128GB) ha 6GB e il OnePlus 6T ha 8GB. L'edizione OnePlus 6T McLaren ha 10GB e la Lenovo Z5 Pro GT ha 12GB.
Mentre è importante sapere quanta RAM ha il tuo telefono, è anche importante sapere quanto è disponibile per l'esecuzione di applicazioni.
Android e Linux utilizzeranno entrambi un po' di RAM, così come alcuni servizi preinstallati a livello utente.

Di seguito una tabella di alcuni dispositivi che ho trovato in rete, che mostra la RAM installata e la memoria disponibile. La memoria disponibile è la quantità di memoria disponibile per avviare nuove applicazioni, senza doverle scambiare.
1549109765729.png

Mate 8, Pixel 3 XL e Note 8 mettono a disposizione degli utenti circa il 50% della RAM installata. Questo numero inizia a salire leggermente con la note 9 e l'OP6T, che offre all'utente il 66% della RAM installata.
È anche interessante notare l'ampia gamma di livelli zRAM scelti dagli OEM. Il Mate 8 utilizza 0.5GB di swap, mentre la Note 8 è configurata per utilizzare 2.5GB! È interessante notare che OnePlus è così sicuro degli 8GB trovati nell'OP6T che non utilizza alcuno spazio di swap.
Un dispositivo come il Pixel 3 XL può contenere almeno cinque applicazioni "standard" in memoria senza doverle scambiare. Questo significa che puoi passare senza problemi da YouTube, WhatsApp, Spotify, Candy Crush e Google Play. Se si avvia più applicazioni allora il Pixel 3 XL inizierà a utilizzare lo spazio di swap compresso in modo più aggressivo nel tentativo di liberare memoria. Questo significa che, in realtà, è possibile eseguire circa otto applicazioni "standard" e tenerle tutte in memoria e nello spazio di scambio. Passare a un'applicazione che è stata sostituita la sostituirà. Lo scambio non è davvero evidente. Spesso il processo in background viene prima messo nello spazio di scambio. Se si avviano più di otto applicazioni "standard", una delle applicazioni precedenti verrà rimossa dalla memoria.

Il note 8 e il note 9 hanno 6GB di RAM, con circa 2.5GB disponibili per l'utente sul note 8 e 3.5GB sulla note 9. Entrambi i dispositivi hanno almeno 2GB di spazio di swap. Questo significa che è possibile passare da un gioco pesante (o Chrome), a un'applicazione media (come Instagram) e 5 o più applicazioni standard e tutto rimarrà in memoria. Se si avviano più applicazioni, il telefono inizierà a utilizzare lo swap. Questo processo fa si che aumentino ancora di più il numero di app residenti in memoria.

Questi telefoni con 6GB di Ram possono switchare tra una dozzina o più applicazioni, comprese quelle pesanti, senza mai mai doverle ricaricare. Le applicazioni più comuni rimangono in memoria per lunghi periodi di tempo e l'esperienza multitasking non ha interruzioni.
Nel regno dei device dotati di 8gb di ram, si possono tenere più di una dozzina di app in memoria senza doverle mai ricaricare, come PUGB e google photo, il passaggio tra un'app e l'altra avviene istantaneamente senza interruzioni. Con il tempo, le applicazioni più vecchie saranno rimosse dalla memoria per lasciare spazio alle nuove applicazioni. Probabilmente non avrai avviato le applicazioni che vengono rimosse per giorni quando ciò accade. Il OnePlus 6T non include uno spazio di swap, quindi sarà probabilmente difficile per l'utente medio distinguere la differenza tra un dispositivo da 6GB con swap e un dispositivo da 8GB senza.

Riflessioni.
Nel 2019 vedremo dispositivi con più di 8gb di ram?
Senza dubbio li abbiamo già visti nel 2018, ma questo non significa che siano realmente necessari.

fonte
 
Ultima modifica:
Iscritto dal
9 Dicembre 2018
Messaggi
29
#2
Articolo bellissimo, complimenti... Mi è piaciuto molto perché il linguaggio usato è molto semplice, essendo il classico utente medio mi mancano tutti i tecnicismi e la terminologia. Sapevo che chrome fosse un succhia ram, ma non immaginavo così tanto, sono abituato a tenere qualche decina di schede aperte contemporaneamente e ora capisco tante cose.
 
Top

Caro utente, ti ringraziamo per essere quì.

Ci siamo accorti che stai utilizzando un AdBlock o qualche estensione che impedisce il caricamento completo della pagina.

Non abbiamo banner fastidiosi, animazioni flash o popup irritanti.

I nostri proventi ci aiutano a coprire i costi di gestione del sito, recuperare eventuale materiale per la redazione e continuare il nostro operato.

Per favore, aggiungi hwreload.it alla whitelist o disabilita direttamente la tua estensione che blocca la pubblicità.

Ti ringraziamo per l'attenzione.