Qual è la differenza tra memoria reale, virtuale, condivisa e privata?

57

Le diverse colonne in Activity Monitor sono un po 'confuse

    
posta Jacob Gorban 17.08.2010 - 22:35
fonte

3 risposte

43

Tratto dalla mia risposta a Errore server :

Jargon di memoria per Mac OS X:

Wired : si riferisce al codice del kernel e così via. Memoria che non dovrebbe mai essere spostata dalla RAM. Conosci anche come memoria residente.

Condivisi : memoria condivisa tra due o più processi. Entrambi i processi mostrano questa quantità di memoria, quindi può essere un po 'fuorviante sulla quantità di memoria effettivamente in uso.

Reale : questo è l'utilizzo della memoria "reale" per un'applicazione come riportato da task_info () - un conteggio approssimativo del numero di pagine fisiche del processo corrente. (Rsize)

Privato : questa è la memoria che un processo utilizza esclusivamente da solo e che viene utilizzata nella memoria residente. (RPRVT)

Virtuale : la quantità totale di spazio degli indirizzi nel processo che viene mappato su qualsiasi cosa, indipendentemente dal fatto che si tratti di uno spazio arbitrariamente grande per variabili o altro, non equivale all'effettivo utilizzo della VM. (VSIZE)

Attivo : memoria attualmente etichettata come attiva e RAM utilizzata.

Inactive : "La memoria non attiva non è più in uso ed è stata memorizzata nella cache del disco. Rimarrà nella RAM finché un'altra applicazione non avrà bisogno di spazio. Lasciare queste informazioni nella RAM è a tuo vantaggio se (o un client del tuo computer) torna più tardi. " - Aiuto Mac OS X

Libero : la quantità di RAM effettivamente disponibile senza dati.

La migliore documentazione che conosco (e che sono stato in grado di trovare nelle ricerche successive) è Gestione della memoria articolo sul loro sito web per sviluppatori.

Altre fonti utili: la mailing list di Darwin-dev: [ 1 ] , [ 2 ] e un vecchio articolo su MacOSXHints . Inoltre, Mike Ash ha pubblicato l'introduzione di un buon laico sul suo blog

    
risposta data 17.08.2010 - 22:49
fonte
5

Real mem si riferisce alla memoria fisica (veri moduli RAM nel tuo computer). Mem virtuale è la quantità di memoria "falsa" assegnata al processo, ovvero la memoria allocata sul supporto di memorizzazione permanente (disco rigido, unità a stato solido, ecc.) Per quel processo. La memoria condivisa è memoria fisica (reale) che può essere condivisa con altri processi. La memoria privata è una memoria "reale" che può essere utilizzata solo dal processo a cui è assegnata.

Queste spiegazioni possono essere d'aiuto ... direttamente dal monitor delle attività - > help - > visualizzazione dell'uso della memoria del sistema:

Ecco una spiegazione di alcune delle informazioni visualizzate nella parte inferiore del riquadro di memoria:

  • Wired: la memoria cablata contiene informazioni che devono sempre rimanere nella RAM
  • Attivo: memoria attiva che contiene informazioni che vengono utilizzate attivamente.
  • Non attivo: la memoria inattiva contiene informazioni che non vengono utilizzate attivamente. Lasciare queste informazioni nella RAM è a tuo vantaggio se tu (o un cliente del tuo computer) ti riporti più tardi.
  • Usato: la memoria usata viene utilizzata da un processo o dal sistema. La memoria utilizzata è la somma della memoria cablata, attiva e inattiva. Se il sistema richiede memoria, prende la memoria libera prima della memoria utilizzata.
  • Gratuito: la memoria libera non viene utilizzata ed è immediatamente disponibile.
  • Dimensione VM: la memoria virtuale, o VM, è lo spazio su disco rigido che può essere utilizzato come memoria. La dimensione VM è la quantità di spazio su disco utilizzata come memoria. Mac OS X può usare più memoria della quantità di RAM fisica che hai. Un disco rigido è molto più lento della RAM, quindi il sistema di memoria virtuale distribuisce automaticamente le informazioni tra spazio su disco e RAM per prestazioni efficienti. In / out pagina: il numero di gigabyte di informazioni che Mac OS X ha spostato tra RAM e spazio su disco
risposta data 17.08.2010 - 22:51
fonte
4

Apple ha aggiornato Activity Monitor in OSX 10.9 (Mavericks). Hanno un buon articolo su cosa significa tutto qui link . In sintesi ...

  • Memoriafisica:laquantitàdiRAMinstallata.
  • Memoriautilizzata:laquantitàdiRAMutilizzataenonimmediatamentedisponibileperaltreapp.
  • Memoriavirtuale:laquantitàdimemoriamappatarichiestadalleapp.QuestononèunconsumoeffettivodirisorseRAMelasuadimensioneèdeterminatadall'autoredell'app.
  • Scambiausato:lospaziosultuodiscovieneutilizzatoperscambiareifileinutilizzatidaeversolaRAM.Ènormalevederealcuneattivitàenonèun'indicazionechehairisorseRAMesaurite.VederelapressionedellamemorianellostatoRossoindicachelerisorseRAMsonoesaurite.
  • Memoriaapp:laquantitàdispazioutilizzatadalleapp.
  • Memoriacablata:memoriachenonpuòesserememorizzatanellacachedeldisco,quindideverimanerenellaRAM.Questamemorianonpuòesserepresainprestitodaaltreapp.
  • Compresso:LaquantitàdimemorianellaRAMchevienecompressa,rendendodisponibilipiùrisorseRAMperaltreapp.
  • Cachefile:lospazionellaRAMcontrassegnatocomedisponibileperleappdautilizzarechecontengonofileutilizzatidirecente.

Graficodellapressionedimemoria

LacombinazionediFree,Wired,Active,Inactive&LestatistichedimemoriautilizzatenelleprecedentiversionidiActivityMonitorsonostatesostituiteinMavericksconungraficodi"Memory Memory" di facile lettura.

La pressione della memoria è indicata dal colore:

  • Verde : sono disponibili risorse di memoria RAM.
  • Ambra : le risorse della memoria RAM vengono assegnate.
  • Rosso : le risorse di memoria RAM sono esaurite e OS X utilizza l'unità per la memoria.
risposta data 11.03.2014 - 18:08
fonte

Leggi altre domande sui tag