Memoria
Suddivisione della memoria in tempo reale (Libera/Inactive/Attiva/Cablata) con grafici di allocazione e cronologia.
Panoramica
Lo strumento Memoria mostra come la RAM del dispositivo è allocata, quanta memoria è rapidamente recuperabile e come la suddivisione cambia nel tempo.
È progettato per rispondere a domande pratiche come:
- "Questo dispositivo è attualmente sotto pressione di memoria?"
- "La memoria è trattenuta dal sistema (cablata), dalle app (attiva) o dalle cache (inattiva)?"
- "L'utilizzo della memoria è stabile nel tempo o ci sono picchi?"
In Lirum, Memoria disponibile è la quantità di memoria che iOS può solitamente recuperare rapidamente: Libera + Inattiva.
Indice
- Schede
- Scheda Panoramica
- Scheda Dettagli
- Scheda Cronologia
- Stati della memoria
- Cosa fa iOS sotto pressione
- Come interpretare i numeri
- Note e limitazioni
Schede
- Panoramica
- Dettagli
- Cronologia
Scheda Panoramica
La scheda Panoramica si concentra su Memoria disponibile:
- Un indicatore circolare che mostra la percentuale disponibile.
- La quantità disponibile e la RAM totale.
- Una tabella compatta di suddivisione: Libera, Inattiva, Attiva, Cablata.
Utilizza questa vista quando desideri una rapida lettura sullo "stato di salute" attuale del dispositivo. Se la suddivisione in quattro righe non corrisponde al Totale, consulta Compresso e "Altro".
Scheda Dettagli
La scheda Dettagli offre una suddivisione più completa:
- Grafico di Allocazione della memoria (Attiva/Cablata/Inattiva/Libera).
- Tabella Informazioni dettagliate sulla memoria con dimensioni e percentuali.
- Una riga Disponibile che combina Libera + Inattiva.
Questa è la sezione migliore per capire che tipo di memoria viene utilizzata (e se è probabile che venga recuperata). Se le percentuali di Libera/Inattiva/Attiva/Cablata non sommano a 100%, di solito è perché una parte della memoria è attualmente conteggiata come Compressa o "Altro".
Scheda Cronologia
La scheda Cronologia ti aiuta a comprendere le tendenze invece di una singola istantanea:
- Cronologia allocazione memoria: una timeline a pila per Libera/Inattiva/Attiva/Cablata.
- Cronologia utilizzo memoria: una vista semplificata dell'utilizzo complessivo nel tempo.
Usa la Cronologia quando:
- Sospetti una perdita o un carico anomalo (l'utilizzo aumenta costantemente).
- Vuoi correlare rallentamenti/riavvii delle app con la pressione di memoria (l'utilizzo sale e poi scende).
- Vuoi vedere se la memoria cablata cresce e rimane alta (spesso pressione di sistema/driver).
Stati della memoria
Lirum utilizza gli stessi raggruppamenti di alto livello riportati da iOS. Queste sono le categorie più utili come "modello mentale" per la memoria di iOS:
| Raggruppamento | Significato abituale | iOS può recuperarla rapidamente? |
|---|---|---|
| Libera | RAM non utilizzata, pronta per essere allocata | Sì (già libera) |
| Inattiva | Principalmente cache e pagine non toccate di recente | Spesso |
| Attiva | Working set attualmente in uso | Non direttamente |
| Cablata | Memoria di sistema bloccata, non paginabile | No |
| Compressa | Pagine archiviate nel compressore di memoria | Non direttamente |
| Altro | Raggruppamento residuo (varia per OS/dispositivo) | Dipende |
Disponibile (Libera + Inattiva)
Disponibile è una metrica pratica per "quanta memoria ho a disposizione?".
- Libera: pagine già non utilizzate.
- Inattiva: principalmente pagine di cache che possono essere eliminate o riutilizzate quando serve memoria.
Ecco perché Lirum mostra Disponibile = Libera + Inattiva nell'indicatore Panoramica e nella tabella Dettagli.
Nota: Disponibile non garantisce che il sistema ti fornirà istantaneamente quella quantità di memoria senza alcun costo. Recuperare pagine inattive può comunque richiedere lavoro (eliminare cache, scrivere pagine modificate, ricostruire dati in cache successivamente).
Cosa significa in pratica:
- Se Disponibile è alto e stabile, il dispositivo ha generalmente margine, anche se Libera è bassa.
- Se Disponibile è costantemente basso (e rimane basso durante l'uso normale), iOS ha meno cache da recuperare e potrebbe iniziare ad applicare misure di pressione più forti (compressione, terminazione app).
- Un breve calo all'apertura di un'app è normale. Un lento e costante declino che non si recupera è un tipico segnale di "pressione".
Cablata
La memoria Cablata è RAM bloccata (non paginabile) e non può essere compressa o recuperata su richiesta.
Considera la memoria Cablata come memoria che "deve rimanere residente". È solitamente gestita dal kernel e dai servizi di sistema di basso livello, ed è necessaria per il corretto funzionamento o per requisiti in tempo reale.
Esempi tipici:
- Memoria del kernel e servizi core del sistema operativo
- Driver hardware e buffer DMA
- Superfici grafiche/display e alcune allocazioni legate alla GPU
- Memoria che deve rimanere residente per motivi di correttezza o tempo reale
Perché è importante:
- La memoria Cablata è il raggruppamento meno flessibile. Se cresce molto, iOS ha meno opzioni per liberare RAM, quindi la pressione di memoria aumenta prima.
- Un dispositivo può mostrare poca memoria Libera ed essere comunque in buone condizioni, ma una memoria Cablata costantemente alta è più difficile da gestire per iOS.
Schemi comuni:
- La memoria Cablata può aumentare durante l'uso della fotocamera, AR, giochi, pipeline video, I/O intenso o quando sono collegati accessori esterni.
- La memoria Cablata tende a essere "persistente". Alcune allocazioni cablate non si riducono rapidamente e alcune si azzerano solo dopo il riavvio.
- Se la memoria Cablata cresce costantemente nel tempo e non diminuisce, può indicare una pressione di sistema sostenuta (o una perdita nei servizi di sistema o nei driver).
Attiva
La memoria Attiva è RAM attualmente in uso (frequentemente referenziata) da app e sistema.
Attiva non significa solo "memoria delle app". Include tutte le pagine che il sistema operativo considera attive in quel momento, comprese pagine file-backed (ad esempio, codice e framework) e pagine anonime (ad esempio, heap e stack).
Esempi tipici:
- Heap e working set delle app
- Cache di file in uso e media decodificati attualmente utilizzati
- Strutture dati che il sistema/app sta attivamente utilizzando
Perché è importante:
- La memoria Attiva non è "sprecata"; è memoria di lavoro. Di solito segue ciò che stai facendo.
- iOS non può semplicemente "liberare" le pagine attive senza conseguenze. Sotto pressione, iOS cerca prima di recuperare dalle cache; se non basta, può comprimere la memoria e infine terminare le app.
Schemi comuni:
- Attiva di solito aumenta quando apri app e lavori, e può diminuire quando le app vengono terminate o quando le loro pagine diventano inattive nel tempo.
- Se Attiva continua a salire mentre il carico di lavoro non cambia (o mentre il dispositivo è inattivo), può essere un segnale di perdita di memoria o cache fuori controllo in un'app.
Inattiva
La memoria Inattiva è RAM utilizzata di recente e ora mantenuta principalmente come cache.
Inattiva è la principale fonte di "recupero rapido" per iOS. Una grande parte della memoria inattiva è cache di file pulita che può essere eliminata e ricostruita successivamente se necessario.
Esempi tipici:
- Pagine di file in cache
- Memoria di app usata di recente che può essere riutilizzata
- Dati non attivamente referenziati ma mantenuti perché potrebbero tornare utili
Perché è importante:
- Inattiva è solitamente la prima area da cui iOS recupera memoria quando serve RAM per una nuova allocazione.
- Un valore alto di Inattiva è spesso positivo: significa che iOS utilizza la RAM in modo efficiente come cache.
Schemi comuni:
- Inattiva spesso cresce dopo l'avvio di app, la lettura di file, lo scorrimento di media o il caricamento di contenuti web (queste pagine diventano cache).
- Sotto pressione di memoria, Inattiva dovrebbe diminuire man mano che iOS riutilizza le pagine in cache per nuove allocazioni.
- Se Inattiva è già bassa e Disponibile rimane basso, iOS ha meno memoria "facile" da recuperare e la pressione può arrivare prima.
Libera
La memoria Libera è RAM attualmente non allocata e pronta all'uso.
Su iOS, Libera è spesso bassa per scelta progettuale. Il sistema operativo cerca di mantenere la RAM occupata come cache per rendere più veloci i successivi avvii di app, scorrimenti o letture di file.
Perché è importante:
- Libera tende a essere bassa su iOS anche su dispositivi in buone condizioni perché iOS preferisce utilizzare la RAM come cache (Inattiva) piuttosto che lasciarla inutilizzata.
- Una Libera bassa da sola non è un problema se Inattiva è sana e il dispositivo non è sotto pressione.
Compresso e "Altro" (perché i numeri potrebbero non tornare)
Nell'app, iOS riporta anche altri raggruppamenti di memoria come la memoria Compressa, oltre ad altre allocazioni di sistema che non rientrano chiaramente nelle quattro principali liste di pagine.
La memoria Compressa è RAM che iOS ha compattato archiviando pagine in forma compressa. Questo è uno dei principali meccanismi di sollievo dalla pressione di iOS:
- La compressione risparmia RAM, ma utilizza comunque RAM (e CPU per comprimere e decomprimere).
- Un aumento della memoria compressa è spesso un segnale che il sistema sta lavorando di più per evitare la terminazione delle app.
- Se una pagina compressa viene nuovamente acceduta, iOS deve decomprimerla, il che può aggiungere latenza e aumentare l'uso della CPU.
Altro è un raggruppamento residuo per tutto ciò che non è rappresentato nei quattro principali raggruppamenti. Può includere varie allocazioni di sistema e categorie di contabilità della memoria virtuale che iOS riporta in modo diverso a seconda della versione del sistema operativo e del dispositivo.
In Lirum:
- La suddivisione Panoramica e il grafico Dettagli si concentrano sui quattro stati più comunemente interpretati: Libera, Inattiva, Attiva, Cablata.
- La memoria Totale mostrata è la RAM fisica del dispositivo.
Per questo motivo, la suddivisione in quattro righe potrebbe non sommare esattamente al Totale su ogni dispositivo e versione di sistema operativo. La quantità "mancante" è tipicamente memoria attualmente conteggiata come Compressa, più allocazioni di sistema varie (Altro).
Cosa fa iOS sotto pressione
Quando la RAM si riduce, iOS applica tipicamente la pressione in fasi:
- Recupera prima le cache: riutilizza le pagine Libere, poi recupera le cache Inattive (elimina cache di file pulite, svuota alcune cache).
- Comprimi la memoria: archivia le pagine meno utilizzate in forma compressa per ritardare la terminazione delle app.
- Termina le app: se la pressione continua, iOS può terminare le app in background (e infine anche quelle in primo piano) per liberare memoria. Questo spesso si manifesta come app che si ricaricano quando ci ritorni.
Lo strumento Memoria è particolarmente utile quando osservi queste fasi nel tempo tramite la scheda Cronologia.
Come interpretare i numeri
- Disponibile (Libera + Inattiva) è la metrica più rapida per valutare il margine di memoria.
- Cablata è il raggruppamento più difficile da gestire. Se cresce, il sistema ha meno leve a disposizione.
- Un valore alto di Inattiva è spesso normale e positivo (cache). Dovrebbe diminuire quando il sistema necessita di memoria.
- Se Attiva + Cablata cresce e Disponibile diminuisce nel tempo, potresti notare ricaricamenti delle app, rallentamenti o pressione di sistema.
- Usa la scheda Cronologia per ragionare sulle tendenze. Le singole istantanee sono facili da interpretare male su iOS perché il sistema operativo utilizza aggressivamente la RAM come cache.
- Se noti un calo costante di Disponibile mentre esegui un'operazione ripetibile, questo è un segnale più forte di un problema rispetto a qualsiasi singolo valore.
Note e limitazioni
- iOS gestisce la memoria automaticamente; vedere poca memoria Libera non è necessariamente un problema.
- Valori e categorie variano in base al dispositivo e al sistema operativo, e si aggiornano continuamente mentre lo strumento è aperto.
- Lo strumento Memoria mostra lo stato della memoria a livello di sistema (non attribuzione per singola app).
- Su alcuni modelli di iPad e versioni di sistema operativo, il sistema può utilizzare lo storage come swap. Lo strumento Memoria si concentra sulla RAM fisica e non tenta di visualizzare l'utilizzo dello swap.