Perché non dovresti disattivare la memoria virtuale sul tuo Mac
Il tuo Mac viene fornito con una quantità prestabilita di applicazioni di memoria fisica utilizzabili. I tuoi programmi in esecuzione, i file aperti e altri dati con cui il tuo Mac sta lavorando attivamente sono archiviati in questa memoria fisica. Ma questa è una semplificazione: le applicazioni possono anche usare "memoria virtuale", che il tuo Mac può comprimere e archiviare temporaneamente su disco.
Non esiste un modo ufficiale per disabilitare la memoria virtuale su un Mac moderno, sebbene ciò fosse possibile nei giorni precedenti al rilascio di Mac OS X, ora denominato macOS. Mentre potrebbe essere possibile hackerare il tuo sistema per impedire al tuo Mac di archiviare memoria virtuale su disco, non dovresti farlo.
Cos'è la memoria virtuale?
Mentre il tuo Mac ha solo una quantità limitata di memoria fisica, espone un'area più ampia di memoria virtuale disponibile ai programmi in esecuzione. Ad esempio, anche se disponi di un Mac con 8 GB di RAM, ogni processo a 32 bit sul tuo Mac riceve 4 GB di spazio di indirizzi disponibili che può utilizzare. Ogni processo a 64 bit viene fornito con circa 18 exabyte, ovvero 18 miliardi di gigabyte, di spazio su cui può lavorare.
Le applicazioni sono libere di utilizzare la quantità di memoria che desiderano all'interno di queste limitazioni. Quando la tua memoria fisica si riempie, macOS "espelle" automaticamente i dati che non vengono utilizzati attivamente, memorizzandoli sull'unità interna del tuo Mac. Quando i dati sono nuovamente necessari, vengono trasferiti nuovamente nella RAM. Questo è più lento del semplice mantenimento dei dati nella RAM tutto il tempo, ma consente al sistema di "continuare a lavorare" in modo trasparente. Se i Mac non fossero in grado di archiviare dati di memoria virtuale su disco, vedresti messaggi che ti chiedono di chiudere un programma per continuare.
Questo è fondamentalmente la stessa cosa del file di pagina su Windows e dello spazio di swap su Linux e altri sistemi operativi simili a UNIX. In effetti, macOS è un sistema operativo simile a UNIX.
Le versioni moderne di macOS attraversano ancora più problemi per evitare di sfogliare i dati sul disco, comprimendo i dati archiviati nella memoria il più possibile prima di effettuare il paging.
Dove è archiviato?
I dati della memoria virtuale sono memorizzati nel / Private / var / vm
directory sulla memoria interna del tuo Mac se è stata cercata su disco. I dati sono memorizzati in uno o più file denominati "swapfile" e terminano con un numero.
La maggior parte dei sistemi operativi simili a UNIX utilizzano una partizione separata per il file di scambio, allocando in modo permanente parte dello spazio di archiviazione per lo spazio di scambio. La macOS di Apple non lo fa. Invece, memorizza i file di swapfile nell'unità di archiviazione di sistema. Se le applicazioni non necessitano di memoria virtuale aggiuntiva, questi file non utilizzeranno molto spazio. Se le applicazioni necessitano di più memoria virtuale, questi file cresceranno di dimensioni secondo le necessità, e poi si ritireranno quando non saranno più necessari.
Questa directory contiene anche il file "sleepimage", che memorizza il contenuto della RAM del Mac su disco quando si iberna. Ciò consente al Mac di salvare il suo stato, incluse tutte le applicazioni e i file aperti, mentre si spegne e non utilizza alcuna alimentazione.
Per visualizzare il contenuto di questa directory e vedere quanto spazio questi file sono attualmente in uso su disco, è possibile aprire una finestra di Terminale ed eseguire il seguente comando. (Per aprire una finestra Terminale, premere Comando + Spazio per aprire la ricerca Spotlight, digitare "Terminale" e premere Invio.)
ls -lh / private / var / vm
Nello screenshot qui sotto, possiamo vedere che ognuno di questi file ha una dimensione di 1 GB sul mio Mac.
Perché non si dovrebbe disabilitare la memoria virtuale
Non dovresti davvero provare a disabilitare questa funzione. Il sistema operativo macOS e le applicazioni in esecuzione si aspettano che sia abilitato. Infatti, la documentazione ufficiale di Apple dice "Sia OS X che iOS includono un sistema di memoria virtuale completamente integrato che non puoi spegnere; è sempre acceso. "
Tuttavia, lo è tecnicamente è possibile disabilitare il backing store, ovvero quegli swapfile su disco su macOS. Ciò comporta la disabilitazione di System Integrity Protection prima di dire al tuo Mac di non eseguire il demone di sistema dynamic_pager e quindi di eliminare i file di swap. Non forniremo i comandi rilevanti per farlo qui, poiché non consigliamo a nessuno di farlo.
Il sistema operativo macOS e le applicazioni in esecuzione si aspettano che il sistema di memoria virtuale funzioni correttamente. Se la tua memoria fisica si riempie e il sistema operativo Mac non può inviare i dati della pagina su disco, si verificherà una delle due cose brutte: o vedrai una richiesta che ti dice di chiudere una o più applicazioni per continuare, o le applicazioni andranno in crash e potresti sperimentare l'instabilità generale del sistema.
Sì, anche se disponi di 16 GB o più di RAM, a volte potrebbe verificarsi un sovraccarico, soprattutto se esegui applicazioni professionali esigenti come video, audio o editor di immagini che devono memorizzare molti dati in memoria. Lascialo da solo.
Non preoccuparti dello spazio su disco o dell'SSD
Esistono due motivi per cui le persone potrebbero voler disabilitare la funzione di memoria virtuale e rimuovere i file di scambio dal disco.
Innanzitutto, potresti preoccuparti dell'utilizzo dello spazio su disco. Potresti voler liberarti di questi file per liberare spazio. Beh, non ci farebbe caso. Questi file non sprecano una grande quantità di spazio su disco. Se il tuo Mac non ha bisogno di molta memoria virtuale, sarà piccolo. Sul nostro MacBook Air con solo 4 GB di RAM, abbiamo notato un file di scambio utilizzando circa 1 GB di spazio, è tutto.
Se usano molto spazio, è perché i programmi che hai aperto ne hanno bisogno. Prova a chiudere programmi impegnativi, o persino a riavviare, e i file di scambio dovrebbero ridursi e smettere di usare lo spazio. Il tuo Mac utilizza solo lo spazio su disco quando necessario, in modo da non perdere nulla.
Se i file di memoria virtuale sono sempre molto grandi, è un segno che hai bisogno di più RAM nel tuo Mac, non che devi disabilitare la funzione di memoria virtuale. (Puoi vedere quanta memoria fisica ha il tuo Mac facendo clic sul menu Apple> Informazioni su questo Mac e leggendo cosa dice accanto a "Memoria".)
L'altra preoccupazione è l'usura dell'unità a stato solido interna del tuo Mac. Molte persone sono preoccupate che l'eccesso di scrittura su un'unità a stato solido possa ridurne la durata e causare problemi. Questo è vero in teoria, ma in pratica questa preoccupazione è generalmente esagerata e lasciata indietro dai giorni in cui gli SSD avevano una longevità molto minore. I moderni SSD dovrebbero durare a lungo, anche con funzionalità come questa abilitate. macOS non consumerà rapidamente il tuo SSD solo perché hai abilitato una funzionalità di sistema predefinita, infatti, qualcosa nel tuo Mac probabilmente morirà prima del tuo SSD.
In altre parole, non ti preoccupare. Lascia la memoria virtuale e lascia che il tuo Mac funzioni come è stato progettato.