Che cosa significa se ho molta memoria "Inattiva" alla fine di una giornata lavorativa?

21

Dopo un giorno di lavoro sul mio MacBook Pro con Mac OS X 10.6.5, Activity Monitor mostra che la maggior parte degli 8 GB di memoria del mio computer è "Inattiva" e solo una piccola porzione del grafico a torta è "Gratuito" ". Questo è anche quando ho chiuso tutte le applicazioni, con solo il Finder in esecuzione.

Che cosa significa? La memoria "Inattiva" è occupata da qualcosa? O è ancora disponibile per le applicazioni? Grazie.

    
posta hpy 23.11.2010 - 22:28
fonte

5 risposte

27

OS X, come la maggior parte dei sistemi operativi moderni, utilizza un sistema memoria virtuale per la gestione della memoria. Tra gli altri scopi, ciò consente al sistema operativo di considerare il computer come un pool illimitato di memoria. Per ottenere ciò, il sistema operativo inserirà le parti inutilizzate della RAM in un archivio di dischi noto come swapfile .

Ovviamente, la RAM non è illimitata, quindi OS X raggruppa la RAM in quattro categorie: cablata, attiva, inattiva e libera. La memoria cablata è richiesta dal sistema operativo e non può mai essere scaricata dalla memoria. La memoria Attiva è la memoria utilizzata dai programmi attualmente in esecuzione. La memoria Inattiva è stata utilizzata di recente da programmi che sono stati terminati (o che non sono stati utilizzati da molto tempo). La memoria Free è, come suggerisce il nome, la RAM che non viene utilizzata.

Quando si avvia un programma, viene caricato nella memoria attiva. Quando si esce da un programma, tuttavia, non viene rimosso dalla RAM; piuttosto, viene colpito nella memoria inattiva. Questo è il motivo per cui è spesso più veloce rilanciare un programma - è ancora nella RAM (provalo con un grosso programma come Firefox).

Quando viene utilizzata tutta la memoria (la memoria libera è 0), il sistema operativo scriverà la memoria inattiva nel file di scambio per creare più spazio nella memoria attiva.

Se un programma viene scaricato nello swapfile e lo si riavvia, verrà trasferito dallo swapfile alla memoria attiva.

Quindi, in breve, non dovresti preoccuparti se la tua memoria libera è bassa. Infatti, vuoi che sia una memoria a basso contenuto di memoria sprecata (dato che il sistema operativo non lo usa per niente).

Quando esamini la quantità di memoria utilizzata dal tuo computer, in realtà vuoi prestare attenzione principalmente a Sostituisci usato , che indica la dimensione del file di scambio della memoria virtuale e Page ins , che indica quanto spesso il sistema operativo deve estrarre la memoria dallo swapfile nella memoria attiva.

    
risposta data 24.11.2010 - 19:53
fonte
9

Probabilmente non è un problema, anzi, potenzialmente accelera il tuo computer.

Tutti i (più?) sistemi operativi utilizzano una cache del disco, che memorizza alcuni file di recente accesso in memoria in modo che l'accesso ripetuto a tali file possa essere velocizzato. La cache del disco su OS X è di dimensioni variabili e verrà visualizzata come "Memoria non attiva" in uso.

Se qualche programma ha bisogno di più memoria, OS X cancellerà parte della cache del disco (i file utilizzati meno di recente) per consentire lo spazio per l'esecuzione / espansione del programma.

Trovo che se faccio un sacco di compilazione o ordinamento delle foto (ad esempio, accedendo a migliaia di file in successione) la cache del disco si espanderà e userà molta memoria inattiva. A condizione che sia solo questa cache del disco, non c'è niente di cui preoccuparsi.

Se si tratta di un processo in background o di un'applicazione che si sta espandendo nel suo utilizzo della memoria (ma le sue pagine sono contrassegnate come inattive), sarà possibile verificare controllando i programmi con un utilizzo molto elevato di "memoria reale" in Attività Tenere sotto controllo. Se non c'è nulla di evidentemente grande lì (vale a dire il totale è di gran lunga inferiore a 8 GB), allora sarà la cache dei file.

Dovresti vedere che c'è poco o nessun utilizzo di Swap, e se apri un programma ad alto utilizzo di memoria la quantità di memoria inattiva diminuirà senza dover passare al disco.

(Credo che ci fosse un bug in 10.4 o 10.5 per un po 'in cui non avrebbe sempre liberato questa memoria in modo molto efficace, e avrebbe causato lo swapping nonostante avesse una grande cache del disco, ma nella mia esperienza questo sembra risolto in 10.6 ).

    
risposta data 24.11.2010 - 03:11
fonte
3

La memoria "Inattiva" è disponibile per l'uso da parte di altri programmi: si tratta semplicemente di memorizzare nella cache programmi o dati che hai utilizzato di recente, nel caso in cui ne avessi bisogno di nuovo. Se avvii programmi diversi o hai bisogno di dati diversi, la memoria cache verrà cancellata e resa disponibile per il tuo nuovo carico di lavoro, se necessario.

Questa è la teoria, in ogni caso, e credo che sia valida. Tuttavia, ho trovato questo riferimento a un'utilità di "purge" che qualcuno ha scritto perché non pensavo che la memoria inattiva fosse rilasciata abbastanza velocemente.

Per la documentazione ufficiale sull'argomento, leggi questo (e cerca "inattivo").

    
risposta data 23.11.2010 - 23:46
fonte
1

A partire da OS X 10.5 ci sono evidenti problemi di gestione della memoria in MAC OS X.

Sono finalmente riuscito a riprodurre lo scenario problematico, quindi ho eseguito il test e registrato lo schermo in un video.

Mac OS X Lion problema di prestazioni - gestione della memoria danneggiata

Eseguo il comando tar + bzip, che è roba base di unix, sulla grande quantità di file immagine, nella mia cartella Immagini /. Poco prima di iniziare, eseguo il comando "purge", per eliminare i dati del programma inattivo / memorizzati nella cache.

È possibile vedere sul video che la memoria libera inizia a cadere molto velocemente e inattiva è in costante aumento. Se date un'occhiata al comando "bsdtar", richiede solo un frammento di RAM, quindi il problema non è in questo processo. Non si può dire che si tratta di una perdita di memoria del programma, perché in tal caso il problema non sarebbe nella ram inattiva, piuttosto in attivo / cablato.

Quando la memoria libera è scesa sotto i 100mb, ho avviato alcune app, come Safari, iPhoto e MS Word, e puoi vedere nel video che ci vogliono anche minuti per avviare un'applicazione, quando normalmente (quando c'è RAM libera ), ci vorrebbe circa 3-5 secondi per caricare.

Eseguo lo stesso scenario e gli stessi comandi sul mio box Linux Centos 6, nessun problema lì! L'utilizzo della memoria è di circa 10-20 MB, nessun problema con cache / buffer.

La gestione della memoria deve essere molto disturbata in Mac OS X!

    
risposta data 24.04.2012 - 11:13
fonte
0

Questa discussione ha senso solo se l'affermazione che "il tuo computer funzionerà più velocemente quando la memoria libera è bassa" - erano vere. A meno che il mio Desktop Mac non sia cablato, nel momento in cui la mia memoria libera (monitorata) inizia ad abbassarsi, qualsiasi programma che sto facendo in quel momento inizia a impantanarsi fino al punto in cui non posso fare nulla finché non torna indietro da solo o dal mio intervento di memoria libera. Ho un iMac 2118 (2006 o successivo) che raggiunge i 3 GB di RAM, quindi cerco di gestirlo quando posso, ma questo è molto frustrante. Qualche idea?

    
risposta data 27.09.2013 - 03:11
fonte

Leggi altre domande sui tag