Mac Virtual Memory - Che cos'è, la posizione di scambio e Come disabilitare lo scambio in Mac OS X

Di recente mi è stato chiesto del file di scambio di Mac OS X, in particolare su come disabilitare completamente lo swap di Mac OS X. Ho deciso di cogliere l'occasione per parlare un po 'della memoria virtuale del Mac (swap), la sua posizione nel file system Mac e anche di spiegare come disabilitarlo.

Scambio Mac OS X aka memoria virtuale

Si può ricordare che nelle vecchie versioni di Mac OS (OS 8 e 9) si poteva disabilitare manualmente lo swapping, quindi chiamato Virtual Memory, semplicemente regolando un'impostazione nei Control Panels. Mac OS X è un po 'diverso perché è costruito su un core unix che si basa molto su file di swap e paging per la memoria generale e la gestione della cache. Per questo motivo, lo scambio è attualmente più importante di quanto non fosse nelle versioni precedenti di Mac OS.

Fondamentalmente quando il tuo Mac ha bisogno di memoria, spingerà qualcosa che non è attualmente in uso in uno swapfile per l'archiviazione temporanea. Quando è necessario accedere nuovamente, leggerà i dati dal file di scambio e tornerà in memoria. In un certo senso questo può creare memoria illimitata, ma è molto più lento poiché è limitato dalla velocità del disco rigido, rispetto alla quasi immediatezza di lettura dei dati dalla RAM.

Se sei curioso, puoi controllare l'utilizzo della memoria virtuale di Mac OS X usando il comando 'vm_stat', o usando l'Activity Monitor (spesso erroneamente chiamato il task manager Mac per Windows converte).

Mac OS X Posizione del file di scambio

Se sei curioso di sapere dove sono archiviati i file di scambio sul tuo Mac, si trovano in:

/private/var/vm/

Questo contiene anche direttamente il tuo file sleepimage, che è essenzialmente ciò che il tuo Mac ha archiviato in memoria prima del sonno del sistema. Questo file viene letto di nuovo quando si riattiva il Mac per tornare al suo stato precedente. In ogni caso, torniamo a scambiare i file nella stessa directory: sono chiamati successivamente swapfile0, swapfile1, swapfile2, swapfile3, swapfile4, swapfile5. Puoi vederli da soli con il seguente comando:

ls -lh /private/var/vm/swapfile*

I file di scambio hanno generalmente dimensioni sfalsate, che vanno da 64 MB a 512 MB.

Disabilita paging / scambio di Mac OS X.

Attenzione: raccomando vivamente di non modificare il modo in cui Mac OS X gestisce i file di gestione e di scambio della memoria. A meno che tu non sappia esattamente cosa stai facendo e perché, questo non è un aggiustamento consigliato. Di nuovo, se non sai cosa stai facendo, non scherzare con i file di swap di Mac OS X o l'abilità di paging!

Nel terminale, immettere il seguente comando. Questo scaricherà il pager dinamico dal kernel di Mac OS X:

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

Di nuovo, questo disabilita completamente l'abilità di paging di Mac OS X, non scherzare con questo per divertimento.

Il prossimo passo sarebbe quello di rimuovere i file di scambio che sono attualmente memorizzati, sono generalmente piuttosto grandi (è la tua memoria virtuale dopo tutto) e occupano una buona quantità di spazio su disco.

sudo rm /private/var/vm/swapfile*

Questo è tutto ciò che c'è da fare.