Cos'è la memoria cablata?


55

Sto cercando di capire cosa sta usando tutta la memoria del mio Macbook Pro con OS X Lion. Ho 8 GB di memoria totale. Quando esco da tutti i programmi attivi ad eccezione di Finder e Activity Monitor, eseguo una pulizia della memoria (FreeMemory) che mostra circa 5 GB di memoria libera, 1 GB di memoria attiva e 1,5 di memoria cablata. I documenti di supporto dicono che la memoria cablata è piena di cose che "non possono essere spostate su disco". Cosa sta occupando tutta quella memoria? Sono i processi della barra dei menu? Ho mozy, last.fm, dropbox e growl in esecuzione nella barra dei menu, ma appaiono tutti in Activity Manager e non sembrano utilizzare una quantità significativa di memoria. Eseguo anche Parallels ma è completamente chiuso, quindi ho pensato che tutte le sue cose dovrebbero essere scritte su disco. È solo Mac OS X che utilizza un pezzo di memoria riservato ed etichettandolo "Wired"?



Unirò le risposte qui: questa è un'ottima formulazione alternativa della domanda in modo che le persone trovino la nostra domanda principale sulla memoria cablata.
bmike

Risposte:


46

Da quello che posso dire, la memoria cablata appartiene al kernel, il nucleo più interno di Mac OS X. Sono molti i livelli rimossi dalle icone nella barra dei menu, che sono solo app ordinarie che si mostrano in modo strano.

La memoria cablata viene utilizzata per alcune delle funzioni principali del sistema operativo, ad esempio tenere traccia di tutte le applicazioni del sistema, aprire file e connessioni di rete o blocchi di memoria utilizzati da vari driver. Le "tabelle di pagine" che formano una mappa della memoria del sistema sono anche archiviate nella memoria cablata e un sistema con più memoria richiede tabelle di pagine più grandi. Sospetto che anche la memoria utilizzata dai chip video integrati nella maggior parte dei Mac sia cablata, ma non riesco a trovare nulla che lo dica apertamente. In ogni caso, molte di queste informazioni sono necessarie per gestire e accedere alla memoria, quindi non possono essere scambiate su disco!

Per capire perché, immagina un'enorme biblioteca. Pensa, ad esempio, alla Bodleian Library dell'Università di Oxford, che ha undici milioni di articoli stampati. Non c'è modo che tu possa adattare tutte quelle cose in un singolo edificio, certamente non nel mezzo di un campus universitario.

Quindi, immagina invece che i bibliotecari costruiscano un vasto magazzino. (La vera Biblioteca di Bodleian ha una quarantina di sotto-librerie di varie descrizioni, oltre a spazio per libri davvero rari, ma questo è un esperimento mentale. La maggior parte dei libri sono conservati nel magazzino, ma tutto ciò che è stato usato di recente è conservato nel biblioteca. Se ti presenti in biblioteca alla ricerca di un libro, ed è nelle pile lì, puoi leggerlo immediatamente. In caso contrario, chiedi a un bibliotecario e il libro che desideri verrà trasportato dal magazzino e ti verrà consegnato il giorno successivo.

Le informazioni nella memoria cablata, quindi, sarebbero cose come il catalogo delle carte, le chiavi dei camion di consegna dei libri e le mappe del percorso verso il magazzino. Se conservaste queste cose nel magazzino, non potreste mai recuperare i libri per riportarli in biblioteca, quindi devono essere tenuti in biblioteca in ogni momento, per evitare che l'intero sistema si rompa.

In ogni caso, tornando a considerazioni pratiche: la memoria cablata viene sostanzialmente utilizzata dal computer per la contabilità interna di vario genere. Non dovresti preoccupartene.

E non preoccuparti se hai anche molta memoria "inattiva" e poca memoria "libera". La memoria inattiva è fondamentalmente la memoria in cui Mac OS sta mantenendo qualcosa nella possibilità che sia di nuovo necessario; se il tuo sistema ha bisogno di quella memoria per qualcos'altro, verrà convertito in memoria libera senza alcun impatto sulle prestazioni.

Per estendere la metafora della biblioteca, immagina che la biblioteca conservi i libri che sono stati recentemente usati in pila. Lo spazio è lì nelle pile; non serve lasciarlo vuoto, quindi potresti anche tenere i libri che hai già lì. Non c'è nulla di male in ciò, e a volte qualcuno sarà in grado di ritirare immediatamente un libro che altrimenti avrebbe dovuto aspettare.

Allo stesso modo, la memoria inattiva può solo accelerare le cose; non può danneggiare il tuo computer, quindi non preoccuparti che sia troppo alto.

Davvero, non dovresti preoccuparti dell'utilizzo della memoria a meno che cablato + attivo non inizi ad avvicinarsi agli 8 GB nel tuo computer. In quel momento potresti metterti nei guai, perché in quel momento Mac OS inizierà a consumare spazio su disco per aggiungere memoria "extra", danneggiando notevolmente le prestazioni.

Altrimenti, potresti anche avere qualcosa in quel ricordo. In definitiva, la memoria inutilizzata è solo uno spreco di energia: se ce l'hai, potresti anche metterla in pratica.


2
La memoria inattiva può accelerare le cose solo quando l'insieme di applicazioni utilizzate (e quindi lasciato nella memoria inattiva) è abbastanza costante e non varia ampiamente. Se il sistema operativo deve eseguire il paging di qualcosa che è nella memoria inattiva per avviare una nuova app, può rallentare le cose. Questo non accade di frequente, ma vale la pena menzionarlo.
alesplin,

Dire che la memoria inattiva può solo essere un bene per te è la più grande menzogna del mondo Mac! In pratica, i computer Apple non possono funzionare se non si dispone di molta memoria inattiva. Prova a 'eliminare' questa memoria e tutti i tuoi programmi si fermeranno fino a quando la memoria inattiva torna a circa il 25% della RAM totale (testato su Mac OS X 10.6 e 10.7). E se ciò che dici è vero per la memoria cablata, perché Mac OS X ne ha bisogno così tanto? Il mio computer (4 GB) utilizza costantemente almeno 800 MB di memoria cablata e 1 GB di memoria "inattiva". Nulla può spiegarlo, ma un cattivo design!
PierreBdR,

2
Se il tuo Mac utilizza una grafica integrata (al contrario di un chip grafico discreto e costoso), tutta la memoria utilizzata dalla scheda grafica è cablata. Questo è solo 384 MB sul mio MacBook Air da 13 ". Anche i controller Thunderbolt richiedono molta memoria cablata, e non sarei sorpreso se lo fanno anche i buffer del disco rigido. Un paio di centinaia di megabyte qui, un paio di centinaia lì, presto sei parlando di memoria reale. La domanda è: il tuo Mac è sotto pressione? Se non lo è, smetti di ossessionarti su Activity Monitor e fai qualcosa.
Brent Royal-Gordon

Solo per aggiungere: sto usando Parallels per la mia macchina virtuale Windows e la sua memoria riservata da 8 GB è classificata come "memoria cablata".
Nullius,

19

Lettura dell'utilizzo della memoria di sistema in Activity Monitor

da support.apple.com fornisce una spiegazione dettagliata dei diversi "tipi" di RAM.

  • Memoria libera: questa è la RAM che non viene utilizzata.

  • Memoria cablata: le informazioni in questa memoria non possono essere spostate sul disco rigido, quindi devono rimanere nella RAM. La quantità di memoria cablata dipende dalle applicazioni in uso.

  • Memoria attiva: questa informazione è attualmente in memoria ed è stata utilizzata di recente.

  • Memoria inattiva: questa informazione in memoria non viene utilizzata attivamente, ma è stata utilizzata di recente.

  • Usato: questa è la quantità totale di memoria utilizzata.


7
Le informazioni di cui sopra servono per "una spiegazione dettagliata" della biologia del liceo a livello medico. Non ci dice assolutamente nulla della memoria cablata.
Hassan Syed,


6

Mac OS X è un sistema operativo moderno, quindi utilizza la memoria virtuale per far apparire alle app che lo spazio di memoria non è un oggetto. Le app utilizzate più di recente tenderanno a essere spostate nella RAM, le app meno utilizzate verranno spostate sul disco rigido (le pagine in entrata e in uscita sono un segno di quel movimento). Il sistema operativo non utilizzerà il disco rigido fino a quando non si esaurisce lo spazio nella RAM.

Non esiste un'app specifica che "causi" l'accumulo di questa memoria cablata. Il sistema operativo gestisce tutte le parti di se stesso e le app che hai avviato per sfruttare al meglio la RAM che hai.

Chiudere le app inutilizzate o, meglio ancora, riavviare il computer sarà il modo più efficiente per "ripulire" la memoria. FreeMemory fa un buon lavoro e sono sorpreso che di tanto in tanto il sistema operativo non esegua tale operazione ... è bello avere uno stato sulla memoria libera!


6
Più specificamente la memoria cablata è la memoria che non può essere paginata. Ogni altra applicazione ha la sua memoria collocata nel file di scambio, ma la memoria cablata rimane sempre nella RAM reale. Alcuni degli utenti più comuni della memoria cablata sono le applicazioni di visualizzazione (Parallels, VMWare) e il sistema operativo mac os x. Inoltre, non preoccuparti se non hai molta memoria libera, la memoria inattiva è buona quanto gratuita perché può essere riallocata su qualsiasi applicazione che ne abbia bisogno. Molte pagine in
entrata

Sono d'accordo, un sacco di pagine in entrata e in uscita è un segno di RAM insufficiente. Ho 8 GB di RAM nel mio sistema e spesso esaurisco lo spazio "libero", eseguendo app Xcode e Adobe ... Sto pensando di mettere presto 16 GB, una volta che il prezzo scende sotto i 500 $. Spero che sia abbastanza per un po '! :-)
Fred

Il passaggio da un MBP con RAM da 6 GB a un MBA con RAM da 4 GB mi ha fatto capire che gli SSD sono un aggiornamento molto migliore rispetto alla RAM aggiuntiva. 4 GB con un SSD sono sufficienti per eseguire Chrome, Mail, Skype, VMWare Fusion, iTunes, Aperture, Adium, OmniFocus e molti altri contemporaneamente senza singhiozzi. Passare da 4 a 6 GB sul mio MBP non ha fatto una differenza enorme.
wt

6

Per una risposta definitiva, sebbene specifica al sistema operativo, dalle Linee guida sulle prestazioni dell'utilizzo della memoria :

Memoria cablata

La memoria cablata (chiamata anche memoria residente) memorizza il codice del kernel e le strutture dati che non devono mai essere pagate su disco. Le applicazioni, i framework e altri software a livello di utente non possono allocare memoria cablata. Tuttavia, possono influire sulla quantità di memoria cablata esistente in qualsiasi momento. Ad esempio, un'applicazione che crea thread e porte alloca implicitamente la memoria cablata per le risorse del kernel richieste ad esse associate.

La Tabella 2 elenca alcuni dei costi della memoria cablata per le entità generate dall'applicazione

Memoria cablata generata da software a livello di utente

Come puoi vedere, ogni thread, processo e libreria contribuisce all'impronta residente del sistema. Oltre all'applicazione che utilizza la memoria cablata, tuttavia, il kernel stesso richiede memoria cablata per le seguenti entità:

  • Oggetti VM
  • la cache del buffer di memoria virtuale
  • Cache buffer I / O
  • autisti

Le strutture dati cablate sono anche associate alla pagina fisica e alle tabelle delle mappe utilizzate per archiviare le informazioni di mappatura della memoria virtuale. Entrambe queste entità si adattano alla quantità di memoria fisica disponibile. Di conseguenza, quando si aggiunge memoria a un sistema, la quantità di memoria cablata aumenta anche se non cambia nient'altro. Quando un computer viene avviato per la prima volta nel Finder, senza altre applicazioni in esecuzione, la memoria cablata può consumare circa 14 megabyte di un sistema da 64 megabyte e 17 megabyte di un sistema da 128 megabyte.

Le pagine di memoria cablata non vengono immediatamente spostate indietro nell'elenco gratuito quando diventano non valide. Sono invece "spazzatura raccolti" quando il conteggio delle pagine libere scende al di sotto della soglia che attiva gli eventi di uscita della pagina.


4

Esistono diverse risposte molto valide e ho voluto aggiungere uno strumento che chiunque può utilizzare per documentare esattamente quale memoria cablata è in uso, quindi una risposta specifica rispetto a una spiegazione generale delle categorie.

Nel caso in cui tutte le applicazioni vengano chiuse e vi sia ancora una considerevole quantità di memoria cablata, è possibile utilizzare il sysdiagnosecomando per acquisire l'allocazione di memoria del sistema quando utilizza più memoria del previsto.

Quindi salvare / spostare l'archivio tar.gz dei risultati da / var / tmp sul desktop in modo che non vengano cancellati al riavvio.

Quindi riavviare il Mac e prima di avviare qualsiasi programma aggiuntivo, ripetere il sysdiagnosecomando e confrontare la memoria prima e dopo per vedere quali processi stavano prendendo la memoria cablata aggiuntiva.



-4

la memoria virtuale è sostanzialmente _ _ spazio utilizzato come estensione di ram


La memoria virtuale può essere "gratuita" come in "il costo pagato per la RAM non è interessato" (anche se contribuisce in qualche modo al costo pagato per l'archiviazione su disco) o "libero" come in "non usare la RAM per conservare il suo contenuto" (no abbastanza vero poiché richiede una piccola quantità di RAM per la sua gestione), ma poiché il costo della memoria è generalmente considerato più in termini di effetto sulla velocità di funzionamento e accedervi è molto più lento dell'accesso alla RAM che difficilmente può essere considerato "sostanzialmente gratuito".
Zhora,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.